Foxtable(狐表)用户栏目专家坐堂 → [求助]不加载表的字段已使用的判断


  共有2214人关注过本帖树形打印复制链接

主题:[求助]不加载表的字段已使用的判断

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]不加载表的字段已使用的判断  发帖心情 Post By:2015/6/26 15:19:00 [只看该作者]

老师,
原来的表是加载进来在判断,现在不加载,都是SQL查询数据怎么做呢
例如
原来
-部门档案中的0101 财务部
我可以用for each 遍历datatable 然后 find列名 查找对应行 找到就mesbox
现在

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

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/26 15:21:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/26 15:21:00 [只看该作者]

把 find  改为SQLFIND

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

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By: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



 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/26 16:16:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/6/26 16:22:00 [只看该作者]

老师,
   想问问,到底表加载还是不加载,向老师问下,免得走弯路
原来都是在表中做,保存,然后更新数据源;后来SQL用的多了,发现,加载不加载好像也可以做,然后就不加载了;

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



 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/26 16:35:00 [只看该作者]

这个只能够你自己权衡.

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/26 16:50:00 [只看该作者]

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

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


 

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

 

你权衡一下怎么弄吧。


 回到顶部