参数类型错误、超出可接受范围或相互冲突 VBSCRIPT ERROR
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another VBSCRIPT ERROR
代码:
<%@LANGUAGE="VBSCRIPT"%>
<%
set updatetime = Server.CreateObject("ADODB.Connection")
updatetime.open "DRIVER=SQL Server;***************************************"
If request.form("in_out")="checkin" then
updatetime.execute ("insert into hourlist (username, checkintime, paid,breakCount) values ('"&session("MM_username")&"', '"&Now()&"', 0, 2) ")
End if
If request.form("in_out")="checkout" then
updatetime.execute ("update hourlist set checkouttime='"&Now()&"' where username='"&session("MM_username")&"' and checkouttime is NULL")
End if
If request.form("in_out")="breakcheckin" then
updatetime.execute ("update hourlist set breakCheckIn='"&Now()&"' where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakCheckOut=Null where ID='"&session("MM_ID")&"' and breakCheckOut is not NULL ")
End if
If request.form("in_out")="breakcheckout" then
updatetime.execute ("select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ")
Dim BTD
BTD=Round(Csng(DateDiff("n", (updatetime.Fields.Item("breakCheckIn").Value), (Now()))), 2)
updatetime.execute ("update hourlist set breakCheckOut='"&Now()&"', breakCount=breakCount-1 where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakTime='"&BTD&"' where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakCheckIn=NULL where ID='"&session("MM_ID")&"' and breakCheckIn is not NULL ")
End if
updatetime.close
set updatetime=nothing
response.redirect "employee.asp?in_out="&request.form("in_out")
%>
取决于收音机 select 我做了不同的事情,我在 21 行(BTD=Round... 行)收到 "ADODB.Connection error '800a0bb9' " 错误有人能告诉我我做错了什么吗那条线? "updatetime.Fileds" 是我写错了吗?
抱歉我的英语不好。
您的 updatetime
是连接,而不是记录集(带有 .Fields)。您可能需要存储
中的 result/recordset
updatetime.execute ("select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ")
在一个变量中并在后面的语句中使用它的字段(或者 - 更好 - 参数化查询)。
更新评论:
使用Set
将对象(记录集)分配给变量。
Dim myConnection, myRecordset
set myRecordset = Server.CreateObject("ADODB.Recordset")
set myConnection = Server.CreateObject("ADODB.Connection")
myConnection.Open "DRIVER=SQL Server;***************************************"
myRecordset.Open "select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ", myConnection
Dim bciValue = myRecordset("breakCheckIn")
Response.Write "BreakCheckIn value is: " & bciValue
myRecordset.Close
myConnection.Close
代码:
<%@LANGUAGE="VBSCRIPT"%>
<%
set updatetime = Server.CreateObject("ADODB.Connection")
updatetime.open "DRIVER=SQL Server;***************************************"
If request.form("in_out")="checkin" then
updatetime.execute ("insert into hourlist (username, checkintime, paid,breakCount) values ('"&session("MM_username")&"', '"&Now()&"', 0, 2) ")
End if
If request.form("in_out")="checkout" then
updatetime.execute ("update hourlist set checkouttime='"&Now()&"' where username='"&session("MM_username")&"' and checkouttime is NULL")
End if
If request.form("in_out")="breakcheckin" then
updatetime.execute ("update hourlist set breakCheckIn='"&Now()&"' where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakCheckOut=Null where ID='"&session("MM_ID")&"' and breakCheckOut is not NULL ")
End if
If request.form("in_out")="breakcheckout" then
updatetime.execute ("select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ")
Dim BTD
BTD=Round(Csng(DateDiff("n", (updatetime.Fields.Item("breakCheckIn").Value), (Now()))), 2)
updatetime.execute ("update hourlist set breakCheckOut='"&Now()&"', breakCount=breakCount-1 where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakTime='"&BTD&"' where ID='"&session("MM_ID")&"' ")
updatetime.execute ("update hourlist set breakCheckIn=NULL where ID='"&session("MM_ID")&"' and breakCheckIn is not NULL ")
End if
updatetime.close
set updatetime=nothing
response.redirect "employee.asp?in_out="&request.form("in_out")
%>
取决于收音机 select 我做了不同的事情,我在 21 行(BTD=Round... 行)收到 "ADODB.Connection error '800a0bb9' " 错误有人能告诉我我做错了什么吗那条线? "updatetime.Fileds" 是我写错了吗?
抱歉我的英语不好。
您的 updatetime
是连接,而不是记录集(带有 .Fields)。您可能需要存储
updatetime.execute ("select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ")
在一个变量中并在后面的语句中使用它的字段(或者 - 更好 - 参数化查询)。
更新评论:
使用Set
将对象(记录集)分配给变量。
Dim myConnection, myRecordset
set myRecordset = Server.CreateObject("ADODB.Recordset")
set myConnection = Server.CreateObject("ADODB.Connection")
myConnection.Open "DRIVER=SQL Server;***************************************"
myRecordset.Open "select breakCheckIn from hourlist where ID='"&session("MM_ID")&"' ", myConnection
Dim bciValue = myRecordset("breakCheckIn")
Response.Write "BreakCheckIn value is: " & bciValue
myRecordset.Close
myConnection.Close