以文本方式查看主题

-  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=73648)

--  作者:WUZHAN
--  发布时间:2015/8/24 11:47:00
--  [求助]SQL数据库不加载更新
我有两个表,表A和表B ,表A是内部表,表B 是SQL外部数据表,表A有 单号, 客户名称,入厂时间,负责人4列,表B 有 单号, 客户名称,负责人3列,如何实现打开项目表B不加载的情况下,表A中客户名称列和负责人列有内容变化时,能实时更新到对应单号的SQL外部数据表上呢?
--  作者:大红袍
--  发布时间:2015/8/24 12:02:00
--  

你问过啊,去编写datacolchanged事件

 

参考

 

http://www.foxtable.com/help/topics/2901.htm

 

http://www.foxtable.com/help/topics/2898.htm


--  作者:WUZHAN
--  发布时间:2015/8/24 12:18:00
--  

Dim s As New SQLCommand
s.C onnec tion Name = "服务器"
s.CommandText = "Up date {表B} Set 第一列=\'" & 值一 & ",第二列=\'" & 值二 & "\' Where [_Identify] =1"
s.ExecuteNonQuery()

这段代码不行啊,这段应该放在表A 的事件中呢,还是放在表B 的事件中呢?表A 是内部表,表B 是外部SQL表,

[此贴子已经被作者于2015/8/24 12:20:08编辑过]

--  作者:WUZHAN
--  发布时间:2015/8/24 13:07:00
--  

我在总表(这个是内部表)的BeforeSaveDataRow事件中写了这段代码

If e.DataRow.RowState = DataRowState.Modified Then \'如果是已经修改过的行
   Dim dr7 As DataRow = e.DataRow
If dr7.IsNull("流水号") Or Dr7.IsNull("单号") Then
        Return
    Else
       Dim cmd As New SQLCommand
    cmd.Co nnection Name = "服务器"
    cmd.CommandText = "Updat 云数据 set 清洗时间 = \'" & dr7("清洗时间") & "\',清洗人 = \'" & dr7("清洗人") & "\',清洗特说 = \'" & dr7("清洗特说") & "\' where 流水号 = \'" & dr7("流水号") & "\' "
    cmd.ExecuteNonQuery()
End If
End If

如有数据修改,点 保存后就会提示出错,


图片点击可在新窗口打开查看此主题相关图片如下:错误提示.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/8/24 13:13:51编辑过]

--  作者:大红袍
--  发布时间:2015/8/24 14:21:00
--  

4楼的代码没有问题。

 

Updat 改成 Update


--  作者:WUZHAN
--  发布时间:2015/8/24 15:36:00
--  
红袍老师,还是不行,错误信息还是上图,SQL数据库还是NULL
--  作者:大红袍
--  发布时间:2015/8/24 15:39:00
--  

弹出截图看看

 

msgbox(cmd.CommandText)


--  作者:WUZHAN
--  发布时间:2015/8/24 15:47:00
--  

红袍老师,可能是对应流水号错了
图片点击可在新窗口打开查看此主题相关图片如下:错误2.png
图片点击可在新窗口打开查看

我在总表窗口点 保存 可以了,但是如我切换到其他界面点 保存 就出现错误


 

[此贴子已经被作者于2015/8/24 15:48:53编辑过]

--  作者:大红袍
--  发布时间:2015/8/24 15:52:00
--  

简化一下你的sql语句,看执行是否报错。不报错,就逐渐加上其余代码

 

 cmd.CommandText = "U   pdate 云数据 set 清洗人 = \'" & dr7("清洗人") & "\'"


--  作者:WUZHAN
--  发布时间:2015/8/24 16:04:00
--  
红袍老师,问题解决了,我的保存按钮 代码是保存所有的表,是这个错误。多谢了,每当过不了坎的时候,你们就出手帮忙。