Avatar billede swamboo Seniormester
06. november 2009 - 22:33 Der er 15 kommentarer og
1 løsning

Update problem

Hvordan får jeg dette til at virke?
            OleDbConnection aConnection = new OleDbConnection("provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\\Pudser-regnskab\\Pudser-regnskab.mdb");
            aConnection.Open();
                OleDbCommand aCommand = new OleDbCommand("Update Kinfo set (Navn, Adresse) Values ('" + Txt_Kinfo_navn.Text + "','" + Txt_Kinfo_adresse.Text + "' where id = '" + Convert.ToInt32(Txt_Kinfo_Idnr.Text) + "'", aConnection);

                aCommand.ExecuteNonQuery();
                aConnection.Close();

På forhånd tak!!!!
Avatar billede swamboo Seniormester
06. november 2009 - 22:34 #1
Fejlen: Der er en syntaksfejl i UPDATE-sætningen.
Avatar billede arne_v Ekspert
06. november 2009 - 22:44 #2
Det er:

INSERT INTO tabel (felt1,felt) VALUES(vaerdi1, vaerdi2)

men det er:

UPDATE tabel SET felt1=vaerdi1, felt2=vaerdi2
Avatar billede Syska Mester
06. november 2009 - 22:46 #3
Du burde bruge paramters ... men det er en anden sag

Du har en fejl i din sql ...

Det skal være:
UPDATE Kinfo SET Navn = @Navn, Addresse = @Addresse WHERE id = @Id

// ouT
Avatar billede swamboo Seniormester
06. november 2009 - 23:39 #4
hvad gør @'et??
Avatar billede arne_v Ekspert
06. november 2009 - 23:48 #5
@xx er en placeholder for en værdi når man bruger parameters
Avatar billede swamboo Seniormester
06. november 2009 - 23:50 #6
OK - det fattede jeg så ikke meget af... Hvad er parameters? er det variabler?
Avatar billede arne_v Ekspert
06. november 2009 - 23:59 #7
Avatar billede swamboo Seniormester
07. november 2009 - 00:11 #8
Jeg kan overhovedet ikk få det til at virke.
Kan jeg lokke jer til at skrive en kort sætning der virker?
skal det være:¨

OleDbConnection aConnection = new OleDbConnection("provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\\Pudser-regnskab\\Pudser-regnskab.mdb");
aConnection.Open();

                OleDbCommand aCommand = new OleDbCommand("Update Kinfo set Navn = " + Txt_Kinfo_navn.Text + " where id = 12", aConnection);

                aCommand.ExecuteNonQuery();
                aConnection.Close();

Nu skriver den: Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket ">teksten i txt_....<".
Avatar billede swamboo Seniormester
07. november 2009 - 00:30 #9
OK - har fået det til at virke - skulle være:
                OleDbCommand aCommand = new OleDbCommand("Update Kinfo set Navn = '" + Txt_Kinfo_navn.Text + "' where id = 12", aConnection);
Avatar billede janus_007 Nybegynder
07. november 2009 - 01:12 #10
Hvilken version C# sidder du med?
Avatar billede swamboo Seniormester
07. november 2009 - 01:23 #11
c# 2005
Avatar billede janus_007 Nybegynder
07. november 2009 - 11:45 #12
Så kunne du lave det i LINQ to SQL, meget nemmere :)
Avatar billede swamboo Seniormester
08. november 2009 - 17:23 #13
Hvordan gør man det Janus?
Avatar billede janus_007 Nybegynder
09. november 2009 - 18:10 #14
Denne her ligner en god tutorial: http://www.joe-stevens.com/2009/07/01/linq-to-sql-tutorial/

LINQ to SQL/ ENTITIES kan virkelig spare meget udviklingstid - alt det trivielle stof er pakket pænt ind lige til at anvende; såsom connectionstrings (ingen grund til at skrive den slags selv)+ update, insert, select mv.
Avatar billede swamboo Seniormester
11. november 2009 - 22:21 #15
Nå gutter - jeg fik det til at virke - hvem af jer vil have point? Der er jo faktisk 3 gode svar...

Så send lige et par svar til mig :o)
Avatar billede arne_v Ekspert
04. december 2009 - 20:44 #16
svar fra mig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester