以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]不加载表的字段已使用的判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=70694)

--  作者:blsu33
--  发布时间:2015/6/26 15:19:00
--  [求助]不加载表的字段已使用的判断
老师,
原来的表是加载进来在判断,现在不加载,都是SQL查询数据怎么做呢
例如
原来
-部门档案中的0101 财务部
我可以用for each 遍历datatable 然后 find列名 查找对应行 找到就mesbox
现在

表没有加载进来 for each ?这块怎遍历 SQL上的表 

--  作者:大红袍
--  发布时间:2015/6/26 15:21:00
--  

 用临时表

 

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

 


--  作者:Bin
--  发布时间:2015/6/26 15:21:00
--  
把 find  改为SQLFIND

有具体的需求才有具体的答复. 请描述清楚你具体的问题是什么

--  作者:blsu33
--  发布时间:2015/6/26 16:06:00
--  
BIN老师,
    SQLFIND 不是已经加载到本地的数据表,去查询;

我的意思 是数据表并没有加载 只是在数据源中,

红袍老师说的用SQL查询表 
SQL查询表 中 FROM  {表名} 是一个选项 
不会是动态合成吧 再FOR EACH 

例子是这样初始不加载所有表    职员档案中有一个人名 张三   他会在出库表 入库表 凭证表 销售表 .....出现在人员列  当删除这个人时
按照红袍老师  使用查询表
是不是这个意思呢
Dim vals As new List(of String)={出库表 入库表 凭证表 销售表 .....}  需要一个表名字符串
DIM dt as datatable
FOR EACH val AS String in Vals
生成查询表 select f rom {"& val &"} where 人名列=\'张三\'
dt=cmd.查询结果)
if dt isnot nothing
msbox("已在" & val & “中使用”,不能删除!")
else
continiue for
next



--  作者:大红袍
--  发布时间:2015/6/26 16:09:00
--  

 sql语句参考

 

Dim cmd As New SQLCommand
Dim
nm As String  = "贺辉"
cmd
.ConnectionName = "User"
cmd.CommandText =
"Select Count(*) F rom {Users} Where Name = \'" & nm & "\'"
If
cmd.ExecuteScalar > 0 Then
    Messagebox.Show(
"已经存在同名用户","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


--  作者:blsu33
--  发布时间:2015/6/26 16:15:00
--  
老师,
要是这么写会不会耗时很多

Dim nms As new List(of String)={出库表 入库表 凭证表 销售表 .....}  需要一个表名字符串  这个块能否改进,不用写进去
Dim cmd As New SQLCommand
cmd.ConnectionName = "User"
for each nm as string in nms
cmd.CommandText =
"Select Count(*) F rom {Users} Where Name = \'" & nm & "\'"
If 
cmd.ExecuteScalar > 0 Then
    Messagebox.Show(
"已经存在同名用户","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
exit for
endif
next

--  作者:大红袍
--  发布时间:2015/6/26 16:16:00
--  

 你不加载表,就只有这种方法,耗时是肯定有一些的。


--  作者:blsu33
--  发布时间:2015/6/26 16:22:00
--  
老师,
   想问问,到底表加载还是不加载,向老师问下,免得走弯路
原来都是在表中做,保存,然后更新数据源;后来SQL用的多了,发现,加载不加载好像也可以做,然后就不加载了;

图片点击可在新窗口打开查看
应该怎么做是比较好呢



--  作者:Bin
--  发布时间:2015/6/26 16:35:00
--  
这个只能够你自己权衡.
--  作者:大红袍
--  发布时间:2015/6/26 16:50:00
--  
5以下是引用blsu33在2015/6/26 16:22:00的发言:
老师,
   想问问,到底表加载还是不加载,向老师问下,免得走弯路
原来都是在表中做,保存,然后更新数据源;后来SQL用的多了,发现,加载不加载好像也可以做,然后就不加载了;

图片点击可在新窗口打开查看
应该怎么做是比较好呢


 

用sql的话,就多了连接数据库的耗时;不用sql加载表和数据的话,打开系统的时候就会慢。

 

你权衡一下怎么弄吧。