Avatar billede starf Nybegynder
16. september 2004 - 21:51 Der er 18 kommentarer og
1 løsning

Update noget ind i en database

Hey forsøger at opdatere noget ind i min database. min update kode er:

string strSQL="UPDATE menu SET link = '"+ strLink + "',beskrivelse='" + BeskrivelseLink.Text +"' WHERE id1 = " + IDNummer9;

og hele kode stykket ser sådan her ud:

            string IDNummer9; //Creates a string
            for(int index = 0; index < lstItems.SelectedItems.Count; index++) //Run through the list
            {
                //åben database
                OleDbConnection myConn = new OleDbConnection( getDatabaseDNS());
               
                IDNummer9 = lstItems.SelectedItems[0].SubItems[0].Text; //Get the id number from the list (li.tag lini 186)
                //Opdatere databasen               
                string strLink = "<a href=\"" + sideload.Text +"?id="+ IdLink.Text +"\" target=\""+ TargetLink.Text +"\">"+ TekstLink.Text +"</a>";
                string strSQL="UPDATE menu SET link = '"+ strLink + "',beskrivelse='" + BeskrivelseLink.Text +"' WHERE id1 = " + IDNummer9;
               
                MessageBox.Show(strSQL.ToString());
                myConn.Open();
                OleDbCommand cmd;
                cmd=new OleDbCommand(strSQL,myConn);
                cmd.ExecuteNonQuery();       
                strSQL = "";
               
                //lukker con
                myConn.Close();
                MessageBox.Show("Opdateret");
Avatar billede arne_v Ekspert
16. september 2004 - 21:57 #1
Virker det ikke ? Hvis nej - hvad fejl får du ?
Avatar billede arne_v Ekspert
16. september 2004 - 21:58 #2
Jeg vil absolut anbefale at åbne og lukke connection udenfor løkken.
Avatar billede arne_v Ekspert
16. september 2004 - 21:58 #3
(og når det virker og du har god tid kan du kigge på parameters)
Avatar billede starf Nybegynder
16. september 2004 - 22:00 #4
nej det virker ikke.. får denne fejl:

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

og den highligher denne linie:

cmd.ExecuteNonQuery();

såvidt jeg har fundet ud af med google, er det min update del højst sansynligt der er problemer med!...

er vel lige meget hvor mine update er lige pt! er jo ikke der fejlen er.
Avatar billede arne_v Ekspert
16. september 2004 - 22:02 #5
Skriver den ikke noget mere om hvad der er galt med den UPDATE ?
Avatar billede arne_v Ekspert
16. september 2004 - 22:03 #6
Er link og beskrivelse tekst felter u menu tabellen og id et tal felt i samme ?
Avatar billede starf Nybegynder
16. september 2004 - 22:03 #7
nej gør den ikke
og her er hvorfor jeg mener det er update der er noget galt med!

http://support.microsoft.com/default.aspx?scid=kb;EN-US;313547
Avatar billede arne_v Ekspert
16. september 2004 - 22:05 #8
Nix - den artikel er om SELECT ikke om UPDATE
Avatar billede arne_v Ekspert
16. september 2004 - 22:06 #9
Kan der eventuelt være en single quote i de tekster du forsøger at indsætte ?
Avatar billede starf Nybegynder
16. september 2004 - 22:06 #10
Menu i databasen indeholder:
id
link
beskrivelse

link bliver sat sammen af nogle forskelige felter
Avatar billede starf Nybegynder
16. september 2004 - 22:07 #11
nej men mon ikke problemet kan være det samme altså en ulovlig komando eller noget?
Avatar billede arne_v Ekspert
16. september 2004 - 22:09 #12
Der er 95% sandsynelighed for at det er en fejl i den SQL sætning du stykker sammen.
Avatar billede starf Nybegynder
16. september 2004 - 22:10 #13
så er de 95% forkert for selve sætningen er copy paste fra en insert sætning der virker fint! hvor jeg så har ændret det til UPDATE into istedet for INSERT into
Avatar billede starf Nybegynder
16. september 2004 - 22:10 #14
denne her virker f.eks fint:

            //adder til menu databasen
            OleDbConnection myConn = new OleDbConnection( getDatabaseDNS());
            myConn.Open();
           
            string strLink = "<a href=\"" + sideload.Text +"?id="+ IdLink.Text +"\" target=\""+ TargetLink.Text +"\">"+ TekstLink.Text +"</a>";
            string strSQL="INSERT INTO menu(link,beskrivelse) VALUES('"+ strLink +"','"+ BeskrivelseLink.Text +"')";
            //string strSQL="INSERT INTO menu(date) values (CDate(" + System.DateTime.Now + @")";
            //til at tjekke sql strengen med
            MessageBox.Show(strSQL.ToString());
            //Opdateret besked
            MessageBox.Show("Menuén er opdateret!");
            OleDbCommand cmd;
            cmd=new OleDbCommand(strSQL,myConn);
            cmd.ExecuteNonQuery();       
            strSQL = "";
           
            myConn.Close();
Avatar billede arne_v Ekspert
16. september 2004 - 22:14 #15
I din update kalder du feltet id1 men i din  22:06:46 kommentar kalder du det id - er
det 1 eller ikke 1 i felt navnet ?
Avatar billede starf Nybegynder
16. september 2004 - 22:21 #16
hahahaah hvor grimt! du har fundet fejlen :)
Avatar billede arne_v Ekspert
16. september 2004 - 22:22 #17
så ligger jeg et svar
Avatar billede arne_v Ekspert
16. september 2004 - 22:23 #18
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

lyder meget grimt, men det er bare .NET'sk for: "jeg kan ikke udføre den
angivne SQL sætning"
Avatar billede starf Nybegynder
16. september 2004 - 22:27 #19
takker
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