Foxtable(狐表)用户栏目专家坐堂 → 求助更新代码


  共有11802人关注过本帖树形打印复制链接

主题:求助更新代码

帅哥哟,离线,有人找我吗?
exonjee
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
求助更新代码  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/18 9:20:00 [只看该作者]

检查生成的SQL语句:

 

MessageBox.show(cmd.CommandText)


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2010/5/18 9:26:00 [只看该作者]

以下是引用狐狸爸爸在2010-5-18 9:20:00的发言:

检查生成的SQL语句:

 

MessageBox.show(cmd.CommandText)


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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/18 9:44:00 [只看该作者]

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

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/18 9:47:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2010/5/18 9:54:00 [只看该作者]

试下先

 


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By: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是可以解决问题了,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/18 10:25:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2010/5/18 10:28:00 [只看该作者]

还有就是SQL中的逻辑型数据在foxtable中会显示方框内有阴影,需要在SQL中设置约束键才能取消

 回到顶部
帅哥哟,离线,有人找我吗?
liuruihua
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2010/5/18 12:08:00 [只看该作者]

用户已被锁定

 回到顶部