以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助更新代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7127)

--  作者:exonjee
--  发布时间:2010/5/18 9:18:00
--  求助更新代码

为什么以下代码运行报错列名无效,是什么原因。检查SQL数据库列名没错呀,代码执行却总报错

 

dim con as string="ABC"
with tables("导航_trv")
    if .count>0 then
        for each r as row in .rows
            Dim cmd As New SQLCommand
            cmd.connectionname=con
            cmd.CommandText ="update _setgrid set 表名=\'" & r("表名") & "\',列名=\'" & r("列名") & "\',列宽=" & r("列宽") & ",隐藏=" & r("隐藏") & ",操作员=\'" & r("操作员") & "\',操作时间=\'" & r("操作时间") & "\' where _identify=" & r("_identify")
            cmd.ExecuteNonQuery()
       next

        messagebox.show("提交数据完成!","提示")
    else
        messagebox.show("当前表无数据可提交!","提示")
    end if
end with

 

以下报错截图:


图片点击可在新窗口打开查看此主题相关图片如下:pp.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-5-18 9:22:20编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/5/18 9:20:00
--  

检查生成的SQL语句:

 

MessageBox.show(cmd.CommandText)


--  作者:exonjee
--  发布时间:2010/5/18 9:26:00
--  
以下是引用狐狸爸爸在2010-5-18 9:20:00的发言:

检查生成的SQL语句:

 

MessageBox.show(cmd.CommandText)


图片点击可在新窗口打开查看此主题相关图片如下:q.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2010/5/18 9:44:00
--  

如果是SQL Server,False要括起来,例如:

 

cmd.CommandText = "UPDATE {表A} SET 第十列 = \'False\'"

[此贴子已经被作者于2010-5-18 9:44:59编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/5/18 9:47:00
--  

或者使用0表示False,1表示True:

 

cmd.CommandText = "UPDATE {表A} SET 第十列 = 0"


--  作者:exonjee
--  发布时间:2010/5/18 9:54:00
--  

试下先

 


--  作者:exonjee
--  发布时间:2010/5/18 10:24:00
--  
以下是引用狐狸爸爸在2010-5-18 9:44:00的发言:

如果是SQL Server,False要括起来,例如:

 

cmd.CommandText = "UPDATE {表A} SET 第十列 = \'False\'"

[此贴子已经被作者于2010-5-18 9:44:59编辑过]

用这个方法还会报错,varchar转换bit时发生错误,这个是BUG吗?

 

不过用0是可以解决问题了,谢谢!


--  作者:狐狸爸爸
--  发布时间:2010/5/18 10:25:00
--  

这不是bug,不同的数据源,SQL语句会有差别的


--  作者:exonjee
--  发布时间:2010/5/18 10:28:00
--  
还有就是SQL中的逻辑型数据在foxtable中会显示方框内有阴影,需要在SQL中设置约束键才能取消