webForumDet fria alternativet
Logga in / Bli medlem

kodproblem vid INSERT

.NET

7 svar · 238 visningar · startad av piddy

Medlem sedan aug. 200253 inlägg
Frågan#1

dim objNyhet as new OleDbDataAdapter("SELECT * FROM Nyhet", oConn)

dim ds = new DataSet()
'fyll dataset
objNyhet.Fill(ds, "Nyhet")

'läser in och konverterar från de olika webbkontrollerna

dim intSignatur as Integer = Convert.ToInt32(DDLSignatur.SelectedItem.Value)
dim intAffarsomrade as Integer = Convert.ToInt32(DDLAffarsomrade.SelectedItem.Value)
dim intNyhetskategori as Integer = Convert.ToInt32(DDLNyhetskategori.SelectedItem.Value)
dim strRubrik as String = tbRubrik.Text
dim strFriText as String = tbFritext.Text
dim strStartDatum as String = tbStartDatum.Text
dim strSlutDatum as String = tbSlutDatum.Text
dim strURL as String = tbURL.Text
dim boolStartsida as Boolean = 0

'skapa en datarad i datasetet
dim dr as DataRow = ds.Tables("Nyhet").NewRow()
'dr(0) är en räknare som efterfrågas
dr(1)= intSignatur
dr(2)= intAffarsomrade
dr(3)= intNyhetskategori
dr(4)= strRubrik
dr(5) = strFriText
dr(6) = boolStartsida
dr(7) = strStartDatum
dr(8) = strSlutDatum
dr(9) = strURL
ds.Tables("Nyhet").Rows.Add(dr)

'läser in till datakällan
objNyhet.InsertCommand = new OleDbCommand
objNyhet.InsertCommand.CommandText = "INSERT INTO Nyhet(ForfattarID, AffarsomradesID, NyhetskategoriID, Rubrik, LopText, Startsidan, Startdatum, Slutdatum, DokumentURL) VALUES (intSignatur,intForfattarID,intAffarsomradesID,intNyhetsKategoriID,'strRubrik','strLopText',boolStartsidan,'strStartDatum','strSlutDatum','strURL')"
objNyhet.InsertCommand.Connection = oConn
objNyhet.Update(ds, "Nyhet")

end sub

fungerar inte alls...ah, vad ska jag göra. var ska jag börja? *grina*

Medlem sedan apr. 20012 266 inlägg
#2

Du hämtar aldrig de varibler som används, du infogar bara dem som text,

Så här t.ex.

objNyhet.InsertCommand.CommandText = "INSERT INTO Nyhet(ForfattarID) VALUES (" + intSignatur + ")"

Medlem sedan aug. 200253 inlägg
#3

danke =)

men när jag nu skriver som du får jag felmeddelandet "End of statement expected"...har testat att slänga dit både en fnutt och en parantes, men det verkar inte hjälpa....

Några tips? Ska jag kanske pröva att lägga till String format??? *mycket osäker*

Medlem sedan apr. 20012 266 inlägg
#4

skicka med hela felmeddelanden och kod, enklare att hjälpa då.

Medlem sedan aug. 200253 inlägg
#5

javisst! =)

objNyhet.InsertCommand.CommandText = "INSERT INTO Nyhet(ForfattarID,AffarsomradesID,NyhetskategoriID,Rubrik,LopText,Startsidan,Startdatum,Slutdatum,DokumentURL)VALUES (" + intForfattarID + intAffarsomradesID + intNyhetskategoriID + strRubrik + strLopText + boolStartsida + strStartDatum + strSlutDatum + strDokumentURL")"

felmeddelande:"End of statement expected"

Medlem sedan juni 200032 967 inlägg
#6

Du måste ha in kommatecken mellan de olika fältvärdena, och se till att strängar omsluts med apostrofer.

Så här på ett ungefär:

objNyhet.InsertCommand.CommandText = "INSERT INTO Nyhet(ForfattarID, AffarsomradesID, NyhetskategoriID, Rubrik, LopText, Startsidan, Startdatum, Slutdatum, DokumentURL) VALUES (" + intForfattarID + ", " + intAffarsomradesID + ", " + intNyhetskategoriID +", '" + strRubrik + "', '" + strLopText +"', '" + boolStartsida + "', '" + strStartDatum + "', '" + strSlutDatum + "', '" + strDokumentURL + "')"

Red: jag slängde in lite mellanslag också, både för läsbarhet och för funktionalitet. ;)

Mvh,

Medlem sedan aug. 200253 inlägg
#7

ok. jag har ändrat min kod men får nu följande felmeddelande:

"Only constants, expressions, or variables allowed here. Column names are not permitted. "

Medlem sedan aug. 200253 inlägg
#8

näe. det ordnade sig! =)

262 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)