以文本方式查看主题

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

--  作者:ap9709130
--  发布时间:2015/7/8 14:35:00
--  关于SQL新增行的问题

Dim cmd As new SQLCommand
Dim dt As DataTable
cmd.C

cmd.commandtext = " select [_Identify] form {客户汇总} where [_Identify] is null "

dt = cmd.ExecuteReader(True) \'记得将参数设置为True
Dim dr As DataRow = dt.AddNew
dr.save
Output.show(dr("_Identify"))

 

为什么结果是:0 。要怎么才能得到 [_Identify] 的值?多谢!


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

Dim cmd As new SQLCommand
Dim dt As DataTable
cmd.commandtext = "select * f rom {表B} where [_Identify] is null "

dt = cmd.ExecuteReader(True) \'记得将参数设置为True
Dim dr As DataRow = dt.AddNew
dr("第一列") = 12345
dt.save
msgbox(dr("_Identify"))


 


--  作者:ap9709130
--  发布时间:2015/7/8 14:50:00
--  

大红袍

 

用你的代码,出来的也是:0.你试一下


--  作者:大红袍
--  发布时间:2015/7/8 14:58:00
--  
 不可能,正常。
--  作者:ap9709130
--  发布时间:2015/7/8 15:14:00
--  

请看附件图片结果。


图片点击可在新窗口打开查看此主题相关图片如下:l@6u`0)pbf3g9ktd6kk0jb.png
图片点击可在新窗口打开查看

 

实际上这个行已经保存了的,我LOAD出来后,是有这个行的。


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

 试了一下,内部表可以取,外部数据源的,取不了。

 

 你用sql语句新增,或者去获取其最大的_Identify呗


--  作者:ap9709130
--  发布时间:2015/7/8 16:14:00
--  
?晕啊
--  作者:大红袍
--  发布时间:2015/7/8 16:16:00
--  
 那你就不要用这种方式操作,把表加载出来就能取。
--  作者:ap9709130
--  发布时间:2015/7/9 8:57:00
--  
把表加载出来,一个月里面会出现1到两次 未能约速[_Identify] 的值的错误,这个问题我搞了好久,都没办法解决。有的同事一年多都没出现,但有的同事时不时会出现,可能是和系统有关系。所以,我想改成SQL的。下次系统升级时,把这个弄一下吧,有时候不加载表也有好处的。多谢
--  作者:大红袍
--  发布时间:2015/7/9 9:05:00
--  

 呃,如果有错误提示,就应该是你_Identify的值,或者用_Identify设置关联的时候,有重复的值。