以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- SQLfind 和SQLselect (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120999) |
|
-- 作者:lur320 -- 发布时间:2018/6/27 15:10:00 -- SQLfind 和SQLselect 今天调整了部分find改为sqlfind就报错,处理了1天不知道原因。 另外一个外部数据库的日期列, 导出到外部数据表后,有一列日期列不能保存,一旦保存就报错 .NET Framework 版本:2.0.50727.8784 Foxtable 版本:2018.3.9.1 错误所在事件:表,soindex,DataColChanged 详细错误信息: Exception has been thrown by the target of an invocation. Object reference not set to an instance of an object. |
|
-- 作者:有点甜 -- 发布时间:2018/6/27 15:14:00 -- 1、弹出什么?
output.show("aaa" & drs("tableaddress") & "bbb")
2、执行下面代码,看弹出什么
Dim drs = DataTables("masterdata").SQLSelect("") msgbox(drs.count) drs = DataTables("masterdata").SQLSelect("tableaddress is not null") msgbox(drs.count)
3、datacolchanged事件,你写了什么代码?
http://www.foxtable.com/webhelp/scr/1485.htm
|
|
-- 作者:lur320 -- 发布时间:2018/6/27 17:15:00 --
[此贴子已经被作者于2018/6/27 17:16:31编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2018/6/27 17:23:00 -- 执行下面代码,看弹出什么 Dim drs = DataTables("masterdata").SQLSelect("") msgbox(drs.count) drs = DataTables("masterdata").SQLSelect("tableaddress is not null") msgbox(drs.count)
datacolchanged里面,执行下面代码弹出什么
tardr=DataTables("soindex").SQLFind(" so_no = \'" & e.DataRow("sono") & "\'") msgbox(tardr Is Nothing) |
|
-- 作者:lur320 -- 发布时间:2018/6/27 19:15:00 -- Dim drs = DataTables("masterdata").SQLSelect("") msgbox(drs.count) 317 drs = DataTables("masterdata").SQLSelect("tableaddress is not null") msgbox(drs.count) 309
datacolchanged里面,执行下面代码弹出什么
tardr=DataTables("soindex").SQLFind(" so_no = \'" & e.DataRow("sono") & "\'") msgbox(tardr Is Nothing) FALSE |
|
-- 作者:lur320 -- 发布时间:2018/6/27 19:30:00 -- 我奇怪的就是这么多的save,只有到下面几个才有报错 MessageBox.Show(111) ok tardr.Save() tardr("description1")=e.DataRow("Description_1") MessageBox.Show(11) ok tardr.Save() tardr("description2")=e.DataRow("Description_2") tardr("OCstart")=e.DataRow("OC_StartDate") MessageBox.Show(1) ok tardr.Save() tardr("outletcheck")=e.DataRow("customer_componments") 两个表都是字符 MessageBox.Show(1) NOTok tardr.Save() tardr("CSwindows")=e.DataRow("cswindows") 两个表都是字符 MessageBox.Show(1) NOTok tardr.Save() tardr("OR3D_start")=e.DataRow("or3d_start") 两个表都是date |
|
-- 作者:有点甜 -- 发布时间:2018/6/27 20:13:00 -- 执行下面代码,输入什么?
Dim drs = DataTables("masterdata").SQLSelect("tableaddress is not null") For each dr As DataRow in drs output.show("aaa" & dr("tableaddress") & "bbb") Next
--------如果自己无法调试,请做个实例发上来测试,数据库和例子一起发上来。 [此贴子已经被作者于2018/6/27 20:14:36编辑过]
|
|
-- 作者:lur320 -- 发布时间:2018/6/27 20:13:00 -- MessageBox.Show(111) ok tardr.Save() tardr("description1")=e.DataRow("Description_1") MessageBox.Show(11) ok tardr.Save() tardr("description2")=e.DataRow("Description_2") tardr("OCstart")=e.DataRow("OC_StartDate") 两个都是日期,格式不对? MessageBox.Show(1) NOTok tardr.Save() |
|
-- 作者:有点甜 -- 发布时间:2018/6/27 20:15:00 -- 执行下面代码,输入什么?
Dim drs = DataTables("masterdata").SQLSelect("tableaddress is not null") For each dr As DataRow in drs output.show("aaa" & dr("tableaddress") & "bbb") Next
--------如果自己无法调试,请做个实例发上来测试,数据库和例子一起发上来。 |
|
-- 作者:lur320 -- 发布时间:2018/6/27 20:56:00 -- 统计表没有在SQL里查到的问题先放放。 tardr=DataTables("soindex").SQLFind(" so_no = \'" & e.DataRow("sono") & "\'") 如果这里用find,就不会有错误 If tardr IsNot Nothing Then tardr("Request_date")=deliverydate messagebox.show(1),1可以出来 tardr("OCstart")=e.DataRow("OC_StartDate") tardr.save,此时报错,原因在于e.DataRow("OC_StartDate")=00:00:00。此时写入sqlfind 的结果就会出错,如果有日期就不会错。 请问怎么避免?SQL里面我查过可以为空的啊 |