Foxtable(狐表)用户栏目专家坐堂 → 求教为这段代码错在哪里?关于SQL表赋值的问题


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

主题:求教为这段代码错在哪里?关于SQL表赋值的问题

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


加好友 发短信
等级:二尾狐 帖子:527 积分:5179 威望:0 精华:0 注册:2017/9/1 23:28:00
求教为这段代码错在哪里?关于SQL表赋值的问题  发帖心情 Post By:2020/4/3 21:11:00 [只看该作者]

我要实现的功能是这样,从数据库A的SQL数据库查询表过滤出符合要求的订单,写到数据库B的另一张表,并对A数据库的某个字段赋值,现在代码全部运行完成且没有问题了,但是卡在最后一步“对数据库A的赋值”,怎么改都不能赋值,求大神老师帮忙看看?
 Dim cmb As WinForm.ComboBox                ’
cmb = e.Form.Controls("ComboBox1")
Dim cmd As New  S图片点击可在新窗口打开查看QLCommand
cmd.C                     ’ 定义数据库A的数据源
For Each dr1 As Row In Tables("发料表").GetCheckedRows        '定义行数据集合
Dim x As String = dr1("workbillno")
      Dim dr2 As DataRow = DataTables("排单表").AddNew()  
        dr2("单号") = dr1("workbillno")
        dr2("客户名称") = dr1("customername")
        dr2("品名") = dr1("GoodsName")
       cmd.CommandText ="updata set fstate = 10 from {Pl_waterworkbill} Where workbillno = '"& X & "'"
       ’ 按数据库B表中符合workbillno的记录,对数据库A的fstate字段赋值为10,就是这句执行不了。
Next

我也做过断点测试,在倒数第三行(就是cmd.commandtext.....)之前,写了一句:
               msgbox(dr1(“workbillno”))
测试下来,msgbox返回的workbillno集合值都是正确的,除了无法赋值给数据库。
另外还想请教:sql代码在狐表里面的书写时没有出错信息的,有时候错了都不知道。要调试SQL代码有什么技巧吗?谢谢!
[此贴子已经被作者于2020/4/3 21:12:41编辑过]

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


加好友 发短信
等级:二尾狐 帖子:527 积分:5179 威望:0 精华:0 注册:2017/9/1 23:28:00
问题  发帖心情 Post By:2020/4/4 14:07:00 [只看该作者]

今天继续这个问题,昨天搞得太累了,有点糊涂了,上面的代码有错误‘’我换了一种方式测试,先不引入变量,先测试update能不能执行,结果有点吃惊,是狐表的UPDATE不能执行。
首先,我把代码修正了,改为

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


失败,没有修改成功。
继续找答案,在狐表帮助里面,把S图片点击可在新窗口打开查看QL相关全部再看一遍,没有指出在使用UP图片点击可在新窗口打开查看DATE语句有什么特殊要求。再到论坛,以“S图片点击可在新窗口打开查看QL语句不执行”为关键词搜索,也没找到资料。实在是找不到问题了。
[此贴子已经被作者于2020/4/4 17:39:37编辑过]

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


加好友 发短信
等级:二尾狐 帖子:527 积分:5179 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2020/4/4 21:31:00 [只看该作者]

问题解决了,实在没想到结果是这样。。。。
在commandtext语句后面要加一句cmd.ExecuteNonQuery()  就可以了,为了这句话,我花了8个多小时。图片点击可在新窗口打开查看

 回到顶部