Avatar billede mahyar Nybegynder
24. januar 2006 - 15:04 Der er 10 kommentarer og
1 løsning

insert into sætning i sql

jeg har skrevet nedenstående Sql sætning i min c# kode og access database, og jeg får denne fejlmeddelelse begge steder: Der mangler et semikolon(;) i slutningen af sql sætningen.





insert intoOrdre  (depositum, beloebeksmoms, moms, totaltbeloeb) values( @depositum, @beloebeksmoms,@moms, @totaltbeloeb) where ordre.ordreid=  @ordreid
Avatar billede tjp Mester
24. januar 2006 - 15:31 #1
Er det en slåfejl at 'intoOrdre' ikke er adskilt?
Avatar billede mahyar Nybegynder
24. januar 2006 - 15:37 #2
ja det er en slå fejl. der skulle stå: into ordre
Avatar billede tjp Mester
24. januar 2006 - 16:26 #3
Og hvad sker der når du indsætter et ';'?
Avatar billede mahyar Nybegynder
24. januar 2006 - 16:51 #4
Jeg bruger nedenstående kode og får den fejlmeddelelse (Der mangler et semikolon(;) i slutningen af sql sætningen.
):


public void InsertBeloebIOrdre(double depositum, double beloebEksmoms, double moms, double totaltPris)
        {
            OleDbCommand cmdInsertBeloeb = new OleDbCommand();
            cmdInsertBeloeb.Connection = con;
            cmdInsertBeloeb.CommandText = "INSERT INTO Ordre (depositum, beloebEksmoms, moms, totaltBeloeb)";
            cmdInsertBeloeb.CommandText += " VALUES (@depositum, @beloebEksmoms, @moms, @totaltBeloeb)";
            cmdInsertBeloeb.CommandText += " WHERE ordreId="+this.ordreId;

         
            cmdInsertBeloeb.Parameters.Add("@depositum", OleDbType.Currency).Value = depositum;
            cmdInsertBeloeb.Parameters.Add("@beloebEksmoms", OleDbType.Currency).Value = beloebEksmoms;
            cmdInsertBeloeb.Parameters.Add("@moms", OleDbType.Currency).Value = moms;
            cmdInsertBeloeb.Parameters.Add("@totaltBeloeb", OleDbType.Currency).Value = totaltPris;

            con.Open();
            cmdInsertBeloeb.ExecuteNonQuery();
            con.Close();
Avatar billede tjp Mester
24. januar 2006 - 17:24 #5
Gør det nogen forskel at ændre:
cmdInsertBeloeb.CommandText += " WHERE ordreId="+this.ordreId;
til:
cmdInsertBeloeb.CommandText += " WHERE ordreId="+this.ordreId+";";
Avatar billede mahyar Nybegynder
24. januar 2006 - 21:20 #6
nej det har ik hjulpet...jeg ved virklig ik hvad der er galt med den. Alt er som det skal være....
Avatar billede nielle Nybegynder
24. januar 2006 - 21:32 #7
Man bruger normalt ikke INSERT INTO sammen med WHERE. Mon ikke at det er en UPDATE du i virkeligheden ønsker at bruge?
Avatar billede mahyar Nybegynder
24. januar 2006 - 23:29 #8
nielle...dit svar hjalp...send et svar så du kan få point...
Avatar billede nielle Nybegynder
25. januar 2006 - 06:56 #9
Oki :^)
Avatar billede nielle Nybegynder
25. januar 2006 - 06:57 #10
... men hvis jeg må spørge om noget: Hvorfor bruger du parametre på alt pånær den sidste - ordreId? Det er da ikke helt konsistent. ;^)
Avatar billede mahyar Nybegynder
25. januar 2006 - 18:33 #11
du har selvfølgelig ret. Jeg skulle bare hurtig teste den. men det er rigtig, det skal laves som parametre.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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