<b>Denna rad gick utmärkt att köra, med rätt resultat, innan jag försökte plocka in cmd...</b> Vad är att spamma? De två frågorna jag har runt cmd är som du ser helt olika SQL satser, som i och för sig genererar likartade fel. Är det att spamma enligt dig? Du kanske Explecit måste ange parametrarna. Vilken datatyp är User, int eller varchar?sql-sats funkar med conn.execte men inte med cmd
"SELECT rakning, -belopp*ggr/12 summa FROM rakningar WHERE `user`=? ORDER BY `rakning` ASC"
<b>men nu får jag ett fel som säger </b>
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
<b>någon som vet?</b> när jag googlar på felet verkar som att man inte kan göra allt med cmd objektet, som man kan med en vanlig conn.execute... men jag har skrivit om den så enkel som möjligt och får fortfarande samma fel...
sql="SELECT * FROM rakningar WHERE `user`= ? ORDER BY `rakning` ASC"
cmd.CommandText = sql
set rs = cmd.execute (,array(session("user")))Sv: sql-sats funkar med conn.execte men inte med cmd
Jag förstår att du vill ha hjälp, men spamma inte. Det räcker att posta under ett forum.
Sedan undrar jag om du kollar upp saker och ting innan du frågar?Sv:sql-sats funkar med conn.execte men inte med cmd
Sv: sql-sats funkar med conn.execte men inte med cmd
Dim p
Dim rs
Dim cmd
Dim con
Const adCmdText = 1
Const adOpenForwardOnly = 0
Const adLockOptimistic = 3
Const adInteger = 3
Const adParamInput = 1
Set con = CreateObject("ADODB.Connection")
con.Open Application("ConnectionString")
Set cmd = CreateObject("ADODB.Command")
Set cmd.ActiveConnection = con
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT rakning, -belopp*ggr/12 AS summa" + vbCrLf + _
"FROM rakningar" + vbCrLf + _
"WHERE user = ?" + vbCrLf + _
"ORDER BY rakning ASC"
Set p = cmd.CreateParameter("@user", adInteger, adParamInput, , Session("user"))
cmd.Parameters.Append p
Set rs = CreateObject("ADODB.Recordset")
rs.Open cmd, , adOpenForwardOnly, adLockOptimistic
Do Until rs.EOF
'Do stuff
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set cmd.ActiveConnection = Nothing
Set cmd = Nothing
con.Close
Set con = Nothing
Denna koden är testad mot en Access databas.
Skulle kunna vara mySQL ODBC drivrutin som strular.