以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 禁止增加相同记录到服务器表中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150458) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:leoli -- 发布时间:2020/5/30 12:55:00 -- [求助] 禁止增加相同记录到服务器表中 老师, 要在以下Foxtable 表list 增加记录保存时,如果表list 中的记录跟如下SQL 服务器表Data 所有列的内容相同时,就出现提示 “已经相同的记录存在了” 麻烦帮忙解答一下,十分感谢。 Foxtable 表list 结构如下:
SQL 服务器表Data结构如下:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2020/5/30 14:15:00 -- For Each dr1 As DataRow In DataTables("list").datarows Dim dr2 As DataRow = DataTables("Data").find("FItemID=\'" & dr1("FItemID") & "\' and FUnitID=\'" & dr1("FUnitID") & "\' and .....自己补齐其它列......") if dr2 isnot nothing then msgbox("已经相同的记录存在了") Next |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:leoli -- 发布时间:2020/5/30 14:50:00 -- 老师,谢谢,不过Data 不在Foxtable中,是在后台服务器上,是不是 牵涉到SQLCommand。 另外这个表Data资料很多,而List表不多,如何可以加快速度,请老师指导。谢谢。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2020/5/30 15:01:00 -- 如果2个表在同一个数据库里,直接使用SQL处理即可。 否则DataTables("Data").find改为使用SQLCommand就行了
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:leoli -- 发布时间:2020/5/30 15:06:00 -- 老师 DataTables("Data").find 如何改, 有点不懂。谢谢。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2020/5/30 15:13:00 -- 参考:http://www.foxtable.com/webhelp/topics/0696.htm |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:leoli -- 发布时间:2020/5/30 15:45:00 -- 老师,请指点,有点乱了,谢谢。 For Each dr1 As DataRow In DataTables("list").datarows Dim ld As Integer Dim cmd As New SQLCommand cmd.C cmd.CommandText = "Se lect * From {t_SupplyEntry}" ld = cmd.ExecuteScalar() Dim dr2 As DataRow = DataTables("Data").find("FItemID=\'" & dr1("FItemID") & "\' and FUnitID=\'" & dr1("FUnitID") & "\' and .....自己补齐其它列......")
if dr2 isnot nothing then msgbox("已经相同的记录存在了") Next |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2020/5/30 16:10:00 -- For Each dr1 As DataRow In DataTables("list").datarows Dim ld As Integer Dim cmd As New SQLCommand cmd.ConnectionName = "数据源名称" cmd.CommandText = "Select count(*) From {t_SupplyEntry} where FItemID=\'" & dr1("FItemID") & "\' and FUnitID=\'" & dr1("FUnitID") & "\' and .....自己补齐其它列......" ld = cmd.ExecuteScalar() if ld > 0 then msgbox("已经相同的记录存在了")
Next |