awk - comparing files

I've been trying to use awk to compare two files that have pretty much the same data in apart from certain lines where in one file a fields value has changed. I want to print the line from the first file and the changed line from the second file.
At the moment, all I can get it to do is print the line that contains the changed value.
Here's some example data:

File1:
111:222:333:444
222:333:444:555
333:444:555:666

File2:
112:222:333:444
222:333:444:555
333:444:555:667

As you can see the first field in the first line in file2 has changed and also the last field in last line has changed. So I'm looking for the output to be something like:

file1 old - 111:222:333:444
file2 new - 112:222:333:444
---------------------------
file1 old - 333:444:555:666
file2 new - 333:444:555:667

The awk I've written so far is:

awk 'BEGIN {
while (getline < "file1" > 0)
arr[$0] = $0
}
{
if ($0 in arr) {
continue
} else {
print NR" - file2 - "$0
print "-----------------------------------------------------------------------------------------------"
}
}
' file2

This only prints the line that has changed in the second file

Can any one help?

Cheers

nawk -f db.awk file1 file2

here's db.awk:

BEGIN {
  FS=":"
}

FNR == NR { if (FNR==1) file1=FILENAME;  arr[NR]=$0; next }
{
  if ($0 != arr[FNR]) {
    printf("%s old - %s\n", file1, arr[FNR])
    printf("%s new - %s\n", FILENAME, $0)
    print "-----------------------------"
  }
}

Thank you kind sir...that's exactly what I'm looking for

Cheers

Hi,
I have 2 files File1.txt and File2.txt

File1.txt
123|Rosy|Chicago|
234|stella|michigan|
999|Richard|NJ|

File2.txt
123|Rosy|Chicago|
235|Stella|michigan|
999|Richard|NJ|ABN

I want to compare the two files and get the output as below:
Old:234|stella|michigan
New:235|Stella|michigan|

I used your above solution,but its giving error.

I used the command awk -f db.awk File1.txt File2.txt

Can someone help me in this regard?

Pls don't hijack threads - create a new thread for your issue.
Read the rules.

hello
File1:
111:222:333:444
222:333:444:555
333:444:555:666

File2:
112:222:333:444
222:333:444:555
333:444:555:667
here i want o/p like
first field and that mismatch field
333:666
333:667

nawk 'NR==FNR{_[NR]=$0}
NR!=FNR{
	if($0 != _[FNR])
	{
		print "Old:"_[FNR]
		print "New:"$0
	}
}' file1 file2