以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 用SQGL2008用ADO新增保存自动复制二表数据,太怪 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=196156) |
-- 作者:lin98 -- 发布时间:2025/4/3 11:02:00 -- 用SQGL2008用ADO新增保存自动复制二表数据,太怪 这个一保存,能生成相同主表和明细表的记录,相当更复制一条记录,狐表太神?让我写代码,可能要费力,可狐表做到?不知道什么原因? |
-- 作者:lin98 -- 发布时间:2025/4/3 11:03:00 -- \'保存主表 Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable Dim dtb As System.Data.DataTable = dt.basetable.Copy \' dtb.Columns.Remove("_Locked") \' dtb.Columns.Remove("System_Sort_Temporary") dtb.Columns.Remove("System_Filter_Temporary") dtb.Columns.Remove("System_Filter_Unique") Dim res = db.UpFFdateDataTable(dtb, "GE")\'保存 dt.AcceptChanges() \' Dim dt2 As DataTable = e.Form.Controls("Table2").Table.DataTable Dim dtb2 As System.Data.DataTable = dt2.basetable.Copy \' dtb2.Columns.Remove("_Locked") \' dtb2.Columns.Remove("System_Sort_Temporary") dtb2.Columns.Remove("System_Filter_Temporary") dtb2.Columns.Remove("System_Filter_Unique") Dim res2 = db.UpFFFdateDataTable(dtb2, "FF")\'保 dt2.AcceptChanges() \'保存成功后-提示 MessageBox.Show("保存成功!") 执行这个代码,太神
|
-- 作者:lin98 -- 发布时间:2025/4/3 11:06:00 -- 买一送一 ![]() |
-- 作者:有点蓝 -- 发布时间:2025/4/3 11:09:00 -- 如果使用的自增主键,不要使用AcceptChanges这种用法,而是每次保存后都需要重新加载一次数据 |
-- 作者:lin98 -- 发布时间:2025/4/3 11:41:00 -- 问题一:把下面二行删除后,保存,还是一样复制一条,查看SQGL2008后台,就一条记录,但狐表上显示是2条重复数据,不为什么? dt2.AcceptChanges() dt.AcceptChanges() 问题二:从引用窗口导入登记窗口,导入成功,登记窗口无显示,需重新打开窗口才能看见,这个为什么?如图 Dim Cols3() As String = {"编号", "名称"}\' Dim Cols4() As String = {"编号", "名称"}\' Dim dh As String = Tables("窗口_Table1").Current("编号") \' For Each dr3 As DataRow In DataTables("引用窗口_Table1").Select("[选中] = 1 ")\' If DataTables("登记窗口_Table2").Find("单号 = \'" & dr3("单号") & "\'And 编号 = \'" & dh & "\'") Is Nothing Then \'禁 Dim dr4 As Row = Tables("登记窗口_Table2").AddNew() \' For r As Integer = 0 To Cols3.Length - 1 dr4(Cols4(r)) = dr3(Cols3(r)) Next Else MessageBox.Show("已经存在相同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Next |
-- 作者:lin98 -- 发布时间:2025/4/3 11:53:00 -- 1.引入窗口导入登记窗口的方法,就有禁止重复,但上面执行失效? 2.编号也用网络编号,通过服务端传入,也是在避免重复,但上面执行失效? 从上面问题来看,编号也用网络编号,通过服务端传入,对狐表也是无效,这个可能以狐表是单机,不是并发,多线程,当然高手可用多线程写,但对普通人来说是很难
|
-- 作者:有点蓝 -- 发布时间:2025/4/3 12:07:00 -- 1、保存前看看有几行数据 Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable msgbox(dt.datarows.count) 2、"登记窗口_Table2"是不是做了筛选?导入的数据不符合筛选条件当然是看不到的
|
-- 作者:lin98 -- 发布时间:2025/4/3 13:30:00 -- 上面问题,很大可能是狐表错乱, 之前用MYSQGL5.7开发没有上面问题,由今天SQGL2008开发出错问题,就再测试MYSQGL5.7开发也发生上面问题。 为什么会怀疑狐表问题,因SQGL2008开发在没修改代码之前有备份一个,没发生上面问题,发生上面问题,用之前备份那一个,测试是正常,尝试修改发生上面问题的代码,结果发生上面问题,再把代码改回来,却回不来,一直是上面发生问题 还有修改审核窗口的上面加载代码,怎么会影响登记窗口上的代码运行,这二个窗口的代码是不一样,
|
-- 作者:有点蓝 -- 发布时间:2025/4/3 13:33:00 -- 请上传实例说明 |
-- 作者:lin98 -- 发布时间:2025/4/3 14:29:00 -- 还有一个SQLG带参数的问题,没有带数还可以 |