webForumDet fria alternativet

ADODB.Recordset.1 error '80004005'

6 svar · 208 visningar · startad av nille99

nille99Medlem sedan aug. 2002352 inlägg
#1

jag får ett felmeddelande när jag ska spara ett formulär

ADODB.Recordset.1 error '80004005'

SQLState: 42S22
Native Error Code: 1054
[TCX][MyODBC]Unknown column 'sum_left_side' in 'where clause'

/kalle/ext_add.asp, line 621

i databasen har jag "sum_left_side"

rad 621 är

RecSet.Update 
RecSet.close
Set RecSet = nothing
Engine^Medlem sedan dec. 20003 887 inlägg
#2

Det är inte rad 621 det är fel på utan den rad där du definierar din sql-sats.

Visa lite mer kod...

nille99Medlem sedan aug. 2002352 inlägg
#3

[kod]
Set RecSet = Server.CreateObject("ADODB.Recordset")
varId = request.querystring("id")

Addera = "Select * From tabel WHERE raknare = " & varID & " "
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

if Request.Form("namn") = "" then
	RecSet("namn") = ""
else
	RecSet("namn") = Request.Form("namn")
end if

if request.form("sum_left_side") = "" then
	RecSet("sum_left_side") = 0
else
	RecSet("sum_left_side") = Round(request.form("sum_left_side"),2)
end if

RecSet.Update
RecSet.close
Set RecSet = nothing

Engine^Medlem sedan dec. 20003 887 inlägg
#4

Din tabell innehåller ingen kolumn som heter sum_left_side?

PatrikBMedlem sedan mars 20002 836 inlägg
#5

Lär inte funka ändå då recordsetet är serverside.
För att kunna köra uppdateringar med ADODB.Recordset mot mySQL så måste recordsetet vara clientside.

Testa denna kod (lite "optimeringar")

strName = "" & Request.Form("namn")
lngSumLeftSide = Request.Form("sum_left_side")
	If Len(strSumLeftSide) = 0 Then lngSumLeftSide = 0

Set RecSet = Server.CreateObject("ADODB.Recordset") 
	RecSet.CursorLocation = 3	'## -- adUseClient (client-side recordset)
	varId = request.querystring("id") 

	Addera = "Select * From tabel WHERE raknare = " & varID & " " 
	RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic 

		'## -- kontrollera att du har en post att uppdatera --
		If Not RecSet.EOF Then
			RecSet("namn") = strName 
			RecSet("sum_left_side") = lngSumLeftSide

			RecSet.Update
		End If

	RecSet.close 
Set RecSet = nothing

pssst, kör raka sql-frågor mot conn-objektet istället för att använda ADODB.Recordset

cya,
PatrikB

Engine^Medlem sedan dec. 20003 887 inlägg
#6

Du menar som

Addera = "UPDATE tabel SET namn = '" & strName & "', sum_left_side = " & lngSumLeftSide & _
" WHERE raknare  = " & varID & ";"

[i]connection[/i].Execute Addera, , 128

?

PatrikBMedlem sedan mars 20002 836 inlägg
#7

Jepp, helt klart att föredra .........

cya,
PatrikB

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)