以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教为这段代码错在哪里?关于SQL表赋值的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148287)

--  作者:hitzfeld
--  发布时间:2020/4/3 21:11:00
--  求教为这段代码错在哪里?关于SQL表赋值的问题
我要实现的功能是这样,从数据库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
--  发布时间:2020/4/4 14:07:00
--  问题
今天继续这个问题,昨天搞得太累了,有点糊涂了,上面的代码有错误‘’我换了一种方式测试,先不引入变量,先测试update能不能执行,结果有点吃惊,是狐表的UPDATE不能执行。
首先,我把代码修正了,改为

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


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

--  作者:hitzfeld
--  发布时间:2020/4/4 21:31:00
--  
问题解决了,实在没想到结果是这样。。。。
在commandtext语句后面要加一句cmd.ExecuteNonQuery()  就可以了,为了这句话,我花了8个多小时。图片点击可在新窗口打开查看