以文本方式查看主题 - 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 SQLCommand 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不能执行。 首先,我把代码修正了,改为 失败,没有修改成功。 继续找答案,在狐表帮助里面,把SQL相关全部再看一遍,没有指出在使用UPDATE语句有什么特殊要求。再到论坛,以“SQL语句不执行”为关键词搜索,也没找到资料。实在是找不到问题了。
[此贴子已经被作者于2020/4/4 17:39:37编辑过]
|
-- 作者:hitzfeld -- 发布时间:2020/4/4 21:31:00 -- 问题解决了,实在没想到结果是这样。。。。 在commandtext语句后面要加一句cmd.ExecuteNonQuery() 就可以了,为了这句话,我花了8个多小时。
|