webForumDet fria alternativet

akut! var felet?

.NET

9 svar · 328 visningar · startad av MizzK

Medlem sedan juni 2003410 inlägg
Frågan#1

har denna insert into sql satsen.. men den vill inte funger säger bara:

Syntaxfel i INSERT INTO-uttryck.

        Dim myconn As OleDbConnection = New OleDbConnection(GetstrConnection)
        ' myconn.Open()

        Dim levadress As String = lbllev.Text
        Dim skundnr As String = kundNr.Text

       Dim strSql As String = "INSERT INTO order(OrderNr, Datum, kundnr, levadress) VALUES (@ordernr, @datum, @skundnr, @levadress)"

        Dim myCommand As OleDbCommand = New OleDbCommand(strSql, myconn)
        myCommand = New OleDbCommand(strSql, myconn)

        'olika param med värden som skall skrivas till databasen
        Dim param0 As New OleDbParameter("@ordernr", OleDbType.VarChar, 50)
        param0.Value = Session("OrderNumber")
        myCommand.Parameters.Add(param0)

        Dim param1 As New OleDbParameter("@datum", OleDbType.Date)
        param1.Value = DateTime.Today
        myCommand.Parameters.Add(param1)

        Dim param2 As New OleDbParameter("@kundnr", OleDbType.VarChar, 50)
        param2.Value = skundnr
        myCommand.Parameters.Add(param2)

        Dim param3 As New OleDbParameter("@levadress", OleDbType.VarChar, 50)
        param3.Value = levadress
        myCommand.Parameters.Add(param3)

        myconn.Open()
        myCommand.ExecuteNonQuery()
        myconn.Close()

snälla hjälp mig snarast! =D

Medlem sedan juni 200032 967 inlägg
#2

Sluta använda reserverade ord (exempelvis order) i tabell- och fältnamn.

mvh

Medlem sedan okt. 20023 030 inlägg
#3

Är inte så hemma på ASP.NET men gissar:

Dim strSql As String = "INSERT INTO order(OrderNr, Datum, kundnr, levadress) VALUES (@" & ordernr & ", @" & datum & ", @" & skundnr & ", @" & levadress & ")"
Medlem sedan apr. 2004778 inlägg
#4

Vad är det för databas? Eftersom du kör OleDb så skulle jag gissa på Access. Men om det är en SQL Server så ska du använda SqlDb och så rekommenderar jag att du lägger in din SELECT sats i en Stored Procedure.
Om du kör Access är problemet att du använder @parameternamn

Medlem sedan juni 2003410 inlägg
#5

access kör jag..

Medlem sedan juni 200032 967 inlägg
#6

Och det löste inte problemet när du bytte namn på tabellen?

Medlem sedan apr. 2004778 inlägg
#7

Om du kör Access tror jag inte du kan använda @ för dina parameternamn. men jag kan ju ha fel.

Medlem sedan juni 2003410 inlägg
#8

har kört det innan, men när jag ändrade till [order] fungerde det, men krävde att jag hade med rabattnr, som inte finns med i exemplet.. men hur till delar jag det ett standard värdet..

testade dim rabattnr as integer = 5 och seda anropa parametern på samma sätt.. men det fungerade inte, säger att det inte finns ngt standard värde.. och hur gör jag d???

Medlem sedan juli 20022 537 inlägg
#9
Dim param4 As New OleDbParameter("@rabattnr", OleDbType.Integer, 50)
param4.Value = 5
myCommand.Parameters.Add(param4)
Medlem sedan juni 2003410 inlägg
#10

vimp testade det men ville inte fungera.. satte ett standardvärde direkt i db:n så fungerad det

274 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)