webForumDet fria alternativet

kodproblem vid INSERT

7 svar · 236 visningar · startad av piddy

piddyMedlem sedan aug. 200253 inlägg
#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*

renholmMedlem sedan apr. 20012 048 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 + ")"

piddyMedlem 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*

renholmMedlem sedan apr. 20012 048 inlägg
#4

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

piddyMedlem 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"

@ndersMedlem sedan juni 200026 914 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,

piddyMedlem 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. "

piddyMedlem sedan aug. 200253 inlägg
#8

näe. det ordnade sig! =)

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb