12、类型不匹配(一下午的教训)
Microsoft VBScript 运行时错误
错误 '800a000d'
类型不匹配
/shop/Present.asp,行 24
错误源代码如下:
Session("ProductPriceList") = Trim(Request.Form("DY_price"))
Session("ProductNumList") = Trim(Request.Form("PNAmount"))
ProductPriceList = Session("ProductPriceList")
ProductNumList = Session("ProductNumList")
ProductPriceList = Split(ProductPriceList,",")'-------------产品ID数组 注意这里,此变量已经变成了数组类型,应该使用PriceListArray
NumListArray = Split(ProductNumList,",")'-------------产品数量数组
Response.Write("<br>")
Response.Write ProductPriceList(0)
If Len(ProductPriceList) = 0 OR Len(ProductNumList) = 0 Then
原因:低级错误,变量混淆
13、没有打开数据库连接
ADODB.Recordset
错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/shop/Present.asp,行 45
就是没有<!--#include file="../Conn.asp" -->
14、函数内弹出窗口
'======================设置:修改付款方式(开始)========================
Sub OperateModify(TypeId)
If Trim(Request("DyTypeName"))="" Or Trim(Request("Discount"))="" Or Trim(Request("OrderID"))="" Or IsNull(Request("DyTypeName"))=True Then
Response.write("<script language='javascript'>alert('不能为空');window.location='Shop_payment_manage.asp';</script>")
’使用这句就OK
'Response.Redirect("Shop_payment_manage.asp")
’关键是有时候使用的是这句,所以有时候不弹出窗口
Response.End
End If
End Sub
'======================设置:修改付款方式(结束)========================
15、数据类型错误
Microsoft OLE DB Provider for ODBC Drivers
错误 '80040e57'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 numeric 转换为数据类型 numeric 时发生算术溢出错误。
/shop/Order.asp,行 56
16、
多步
OLE DB
操作产生错误
Microsoft OLE DB Provider for SQL Server
错误
'80040e21'
多步
OLE DB
操作产生错误。如果可能,请检查每个
OLE DB
状态值。没有工作被完成。
引起这个问题的原因简单的说就是数据库的字段类型不匹配或者字符个数超出了数据库的字段的最大限制个数。
1>
自动编号字段的就不应该指定值;
2>
限制
50
个字符的字段你就不应该提交多于
50
个字符的字符串
3>
记录没有向下移动。
OrderSql2 = "Select * From PE_OrderFormItem Where OrderFormID="&OrderFormID*1
Set OrderRs2 = Server.CreateObject("ADODB.RecordSet")
OrderRs2.Open OrderSql2,Conn,1,3
Do While Not OrderRs2.Eof
OrderRs2.Delete
OrderRs2.MoveNext
Loop
OrderRs2.Close
Set OrderRs2 = Nothing