Just nu i M3-nätverket
Gå till innehåll

syntaxfel - försöker lagra värden i Access-databas med SQL-sträng...


bbque:aren

Rekommendera Poster

Hej alla smarta,

 

Som sagts i rubriken försöker jag lägga in lite värden i min Access-databas.

 

Jag har en tabell som heter tblKvall och i den försöker jag lagra datum som ska hämtas från ett textfält och medlem_id som finns lagrat som en sessionsvariabel. Vad är det som är fel med nedan sträng?

 

dim sql as string = "INSERT INTO tblKvall(datum,medlem_id) VALUES('" & txtDatum.text & "','" & session("medlem_id")

 

 

Någon som vet?

 

Tack på förhand,

 

//mvh Björn

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

La till det så att det nu står:

 

dim sql as string = "INSERT INTO tblKvall(datum,medlem_id) VALUES('" & txtDatum.text & "','" & session("medlem_id") & "'"

 

 

Nu får jag detta felmeddelande:

 

Server Error in '/' Application.

 

Syntaxfel i INSERT INTO-uttryck.

 

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: Syntaxfel i INSERT INTO-uttryck.

 

Source Error:

 

 

Line 63:

Line 64: '// Köra frågan mot databasen

Line 65: Cmd.executeNonQuery()

Line 66:

Line 67: '// Stäng anslutningen

 

 

Source File: D:\grabbkvall\create2.aspx Line: 65

 

Stack Trace:

 

 

[OleDbException (0x80040e14): Syntaxfel i INSERT INTO-uttryck.]

System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41

System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +122

System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92

System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65

System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112

System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66

ASP.create2_aspx.regKvall(Object sender, EventArgs e) in D:\grabbkvall\create2.aspx:65

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +83

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain() +1277

 

 

Vad är det som är fel?

 

//mvh Björn

 

 

NYTT: Min databas låser sig när detta händer. Det skapas alltså en låsfil automatiskt när jag försöker lägga till i databasen enligt ovan.

 

[inlägget ändrat 2005-11-16 22:24:33 av bbque:aren]

Länk till kommentar
Dela på andra webbplatser

Skriv ut hela frågan på skärmen så att du kan se att den verkligen är korrekt. Jag har ingen aning om hur man gör i ASP.NET men i vanlig ASP skriver du :

 

response.write( sql )

 

Lägg in det före du kör frågan...

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Kommer ut så här:

 

INSERT INTO tblKvall(datum,medlem_id) VALUES('2002-07-07','1'

 

Nåt som inte stämmer alltså (ingen slutparantes). Och medlem_id ska inte ha snuffar runt sig, eller är det inte så?

 

//mvh Björn

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Det verkar funka nu. La dit parantes och tog bort fnuttarna runt siffran.

 

En annan fråga när vi ändå är igång. När jag testar min sida som har en validering på sig (som testar att datumet är skrivet rätt) får jag ett felmeddelande.

 

Unable to find script library '/aspnet_client/system_web/1_1_4322/WebUIValidation.js'. Try placing this file manually or reinstall by running 'aspnet_regiis-c'.

 

Var ska jag lägga den filen? Jag har den ju WebUIValidation.js...

 

Tack så jättemycket för hjälpen så långt...

 

//mvh Björn

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...