注册 登录
编程论坛 JavaScript论坛

数据类型不匹配报错!求助

joyceccc 发布于 2012-03-26 09:22, 658 次点击
更新数据类型不匹配:删除数据时出现错误
做了一个表单,表单输入tcode,同时Access数据库中的code字段与输入相同的行要被删除。
代码如下:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<%

    var connect = Server.CreateObject("ADODB.Connection")
    var connectstr ="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+Server.MapPath("code.mdb")
//数据源连接字符串
    connect.Open(connectstr);
    var cod = Request.Form("tcode");
    var sq= "delete *from data where code="+cod;
    connect.Execute(sq);
    connect.Close;
    connect = null;
    Response.Redirect("add_ok.asp");
%>

显示
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。


是更新数据类型不匹配,我数据库里的code字段是文本型的。
这里数据库中存储的是产生的随机数。
产生随机数代码如下:共产生了200个随机数
    var num="";
    var arr = new Array(200);
    for(var j=0;j<200;j++)
    {
        for(var i=0;i<10;i++)
        {
            num+=Math.floor(Math.random()*10);//产生随机数
        }
        arr[j]=num;
        num = "";
    }
   
    for(j=0;j<200;)//将产生的随机数存到数据库里,数据库内code字段类型为文本
    {
        rs.AddNew
        rs("code")=arr[j];
        rs("ID")=++j;
    }
    rs("ID")=j;

请问该如何修改sql语句时类型匹配

2 回复
#2
aspic2012-04-09 16:02
。。。发错版了。你可以把cod打印出来看看值是什么
#3
aspic2012-04-09 16:03
如果code是文本型字段 那么sql应该是 var sq= "delete *from data where code='"+cod+"'";
1