[ marko v @ 05.02.2005. 11:20 ] @
povezaosam formu na access tablicu.uredno mi obavi add novih podataka.ali kad želim mijenjati stare nastane problem. kad želim napravi update tablice na način:



private void btnSave_Click(object sender, System.EventArgs e)
{

System.Data.OleDb.OleDbCommand cmdUpdate;
System.Data.DataRow dxCurrent;


cmdUpdate=this.oleDbDataAdapter1.UpdateCommand;
dxCurrent = GetRow();

cmdUpdate.Parameters["@rednij"].Value=dxCurrent["1_Redni broj"] ;
cmdUpdate.Parameters["@naziv"].Value = dxCurrent["2_Naziv filma"];
cmdUpdate.Parameters["@uloga"].Value = dxCurrent["4_Glavna uloga"];
cmdUpdate.Parameters["@datum"].Value = dxCurrent["5_Datum posudbe "];
cmdUpdate.Parameters["@zanr"].Value = dxCurrent["3_Žanr"];
cmdUpdate.Parameters["@posud"].Value = dxCurrent["6_Posuđeno;prezime,ime"];
cmdUpdate.Parameters["@broj"].Value = dxCurrent["7_Broj CD-ova"];

this.objfilmaš.AcceptChanges();
}


ne prolazi zbog " An unhandled exception of type 'System.NullReferenceException' occurred in Legenda.exe
Additional information: Object reference not set to an instance of an object."
(vrati me na prvu cmdUpdate.Parameters....................................................liniju)
kako da ovo ispravim???.prethodno je obavljen update DataAdaptera.
[ dusty @ 05.02.2005. 15:23 ] @
Pa lepo ti kaze da je vrednost null (: Proveri koje je vrednosti polje 1_Redni broj.
Drugo, ovo nema veze sa greskom, ali ne vidim da pozivas nesto kao cmdUpdate.ExecuteNonQuery da uradi update.

BTW pogledaj GetChanges(); metod za tabelu.
[ marko v @ 05.02.2005. 19:25 ] @
pokušao sam sa dosta načina al nikako da prođe.buni me najviše to šta kad recimo dodam kompletan novi zapis i pritisnem gore navedeni button sve se uredno upiše.ali kad jedan od podataka promjenim i kliknem izbaci me.
[ vekica @ 07.02.2005. 22:11 ] @
pa ako te vrati na tu liniju koda greska ti je u prethodnom redu.
sto znaci da ti je taj current row ustvari null. mislim da ti je tu greska. stavi tu breakpoint pa postavi recimo sledeu liniju koda nesto tipa textbox1.text = "";
startuj program i vidi ako te izbaci gresku na ovoj novo dodatoj liniji znaci da ti je tu greska (kao sto rekoh na tom trenutnom redu).

ustvari pitanje je kako on zna da je taj red koji si menjao bas taj current row u okviru metode save_click
[ rkrulj @ 09.02.2005. 15:57 ] @
Pa stvar je prosta da prostije bit ne moze metod GetRow() ti ne vraca nista pa ti je zato dxCurrent ima null vrijednost, i prvi put kada pokusas upotrijebiti istu lokalnu promijenjivu a to je u liniji koda
cmdUpdate.Parameters["@rednij"].Value=dxCurrent["1_Redni broj"] ;
ispaljuje System.NullReferenceException izuzetak jer je dxCurrent null!! Pogledaj metod GetRow() i vidi zasto ti vraca null!!!

Liniju koda na kojoj ti puca inace mozes otkriti tako sto lupis f9(stavis breakpoint) na prvoj liniji koda pa sa f10 ides jednu po jednu liniju koda naprijed(sa f11 skaces u kod pozvanog metoda npr u GetRow()), pa vidi dje ti puca, mada se ovdje iz aviona vidi dje i zasto ti puca! Knjigu u ruke batali EliteSecurity!!!