Flere kommuner går nu i gang med at bruge AI-understøttet dokumentation. Målet er, at sagsbehandlere skal bruge mindre tid på referater og registrering – og mere tid på nærvær i mødet med borgeren.
Kan du ikke prøve at udskrive din SQL-kommando som bliver genereret? F.eks. med response.write, og så ud-kommatere de linjer som ikke virker? Fejlen er ofte at man får genereret en forkert SQL. F.eks. Response.Write("SQL=" + objCmd.CommandText); Smid resultatet her, så kigger jeg på det.
så vidt jeg kan se har du fire tabeller, men indsætter fem værdier. Måske er det den tomme ''-streng i starten, som du ikke behøver? Så plejer jeg nu i øvrigt også at sætte parentes om alle tabelnavnene, så det kommer til at se sådan her ud: ( "INSERT INTO SchoolTable (SchoolName, SchoolAdress, SchoolPostcode, SchoolWebsite) VALUES ('" + SchoolName.Text + "','" + SchoolAdress.Text + "','" + SchoolPostcode.Text + "','" + SchoolWebsite.Text + "'", objConn);
Nej, det jeg mente var: Hvad bliver SQL-strengen til, efter at SchoolName.Text osv. er blevet sat sammen med resten af teksten. Dette skal ikke ske ved at du selv regner ud hvad den bliver, men får siden til at udskrive teksten (også kaldet debugging!). Det er tit sådan at man kan finde en lang række syntax-fejl i SQL.
Men dgivoni har helt ret. Du har forsøger at indsætte 5 værdier, men angiver kun at du vil indsætte 4 felter. Det var en fejl som helt sikkert ville have været nemmere at opdage, hvis man lige have lavet en udskrivning af den genererede SQL-streng.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Der er en syntaksfejl i INSERT INTO-sætningen.
Source Error:
Line 12: OleDbCommand objCmd1 = new OleDbCommand( "INSERT INTO SchoolTable (SchoolName, SchoolAdress, SchoolPostcode, SchoolWebsite) VALUES ('" + SchoolName.Text + "','" + SchoolAdress.Text + "','" + SchoolPostcode.Text + "','" + SchoolWebsite.Text + "'", objConn); Line 13: objConn.Open(); Line 14: objCmd1.ExecuteNonQuery(); Line 15: objConn.Close(); Line 16:
SQL=INSERT INTO SchoolTable (id, SchoolName, SchoolAdress, SchoolPostcode, SchoolWebsite) VALUES ('','kbh int','helleruyp','2900','www.int.dk'SQL=INSERT INTO SchoolTable (id, SchoolName, SchoolAdress, SchoolPostcode, SchoolWebsite) VALUES ('','kbh int','helleruyp','2900','www.int.dk'Skolen er tilføjet og alle dens informationer er blevet gemt!
er dit id-felt et autonummereret felt? for så må du ikke tildele det nogen værdi. Hvis dit id-felt er defineret som sådan i databasen også, kan du heller ikke bare give det en tom streng, da værdien i feltet skal være unik.
Du mangler en parantes til sidst i din SQL. Det er ikke fordi jeg ikke vil hjælper, men bruger du i det hele taget mere en 3 sekunder på selv at lede efter dine fejl ?
så er jeg point afsendt, og så har jeg vedlagt lidt ekstra pga al den tid i har brugt på mig :-)
Synes godt om
Ny brugerNybegynder
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.