+ -
当前位置:首页 → 问答吧 → 在线等---急求各位大大了!!

在线等---急求各位大大了!!

时间:2011-06-08

来源:互联网

为什么一是用 update语句,就会报错
SQL code

错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E31)
超时已过期



但是换成 insert语句,或者select语句却没有此类错误

求教啊!!
真的很迷惑,网上了些资料,依然没有解决!!
谢谢啦

作者: shuyu0   发布时间: 2011-06-08

update怎么写的啊

作者: inetfuture   发布时间: 2011-06-08

就是很简单的 update语句
SQL code

update point set 平均学分绩点='3.0"



后来发现改成 delete语句也不行啊!!
SQL code
delete from point


难道赋值语句都不行么,就只有select和 insert 可以!!

作者: shuyu0   发布时间: 2011-06-08

就是很简单的 update语句
SQL code

update point set 平均学分绩点='3.0'



就这样子一个最简单的SQL 语句,为什么会出现这种错误呢?

在线等,很郁闷啊!!

作者: shuyu0   发布时间: 2011-06-08

你把sql 直接在数据库执行看看  
连接字符串和代码发来看看

作者: aspwebchh   发布时间: 2011-06-08

看看数据类型是否正确。
字段不要用中文。

作者: lzp4881   发布时间: 2011-06-08

引用 4 楼 aspwebchh 的回复:
你把sql 直接在数据库执行看看
连接字符串和代码发来看看


数据库执行可以的!!

代码如下,
SQL code


        if verXFJD<>"" then    
            '插入point表中,首先判断是否存在,如果存在,就更新,而不是insert
            dim sqlTMP,rsTMP
            sqlTMP="select 平均学分绩点 from point where 学期='11' and 学号='" & userID & "'"
            set rsTMP=server.createobject("adodb.recordset")
            rsTMP.open sqlTMP,conn,3,2    
        
            '如果没有记录,则插入;如果存在该记录,比较新的平均学分绩点值,若相等,则更新,否则什么也不做
            If  rsTMP.EOF Then
                sqlStr4="insert into point values('" & userID & "','" & allCouCredit & "','" & verXFJD & "','11')"
                set rs4=server.createobject("adodb.recordset")
                rs4.open sqlStr4,conn,3,2    
                rs4.close
                response.Write("更新成功 = =")    
            else
                if rsTMP.fields(0).value<>verXFJD then 
                    response.Write("为什么呢!!!")
                    'sqlStr4="update point set 平均学分绩点='"& verXFJD & "'"
                    'sqlStr4="insert into point values('" & userID & "','" & allCouCredit & "','" & verXFJD & "','12')"
                    'conn.CommandTimeout=1000

                    sqlStr4="delete from point"
                    conn.Execute sqlStr4
                else
                    response.Write("无需更新 = =")    
                end if    
                        
                rsTMP.close    
            end if    
        end if    


就是这样子,中间一些语句是测试用的!!
麻烦各位了

作者: shuyu0   发布时间: 2011-06-08

引用 5 楼 lzp4881 的回复:
看看数据类型是否正确。
字段不要用中文。


和这个也有关系么,数据类型float啊,更新后,也是啊应该。知识更新而已,而且delete为什么也不行呢!!



只要删除那个update语句或者delete语句,就没有这个错误!!!!

作者: shuyu0   发布时间: 2011-06-08