Foxtable(狐表)用户栏目专家坐堂 → 疑问?


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

主题:疑问?

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


加好友 发短信
等级:童狐 帖子:213 积分:2237 威望:0 精华:0 注册:2012/9/3 16:21:00
疑问?  发帖心情 Post By:2013/11/6 17:22:00 [只看该作者]

请问为什么在prepareedit 里面用 以下语句运行速度会非常的慢?是什么原因了?

 

'If e.Col.name ="始发地" Then
'Dim cmd As new SQLCommand
'Dim dt As DataTable
'cmd.C
'cmd.CommandText ="select * from{数据表}"
'dt=cmd.ExecuteReader()
'e.Col.ComboList = dt.GetComboListString("数据名称","数据类型 = '收发货地点'")
'End If
'
''---------------------------------------------------
'
'If e.Col.name="条码号" Then
'Dim cmd As new SQLCommand
'Dim dt As DataTable
'cmd.C
'cmd.commandtext = "select * from {条码库信息} where 条码号 = '" & e.Table.current("条码号") & "'"
'dt=cmd.ExecuteReader
'If dt.DataRows.Count >0 Then
 '
'Dim dr As DataRow = dt.DataRows(0)
'Dim r As Row = Tables("入库表").current
   'r("条码号") = dr("条码号")
   'r("品牌") = dr("品牌")
   'r("产品类型") = dr("产品类型")
   'r("尺码")=dr("尺码")
   'r("颜色")=dr("颜色")
'End If
'End If
'


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/6 17:34:00 [只看该作者]

1、你这个执行了Select语句,肯定慢的,特别是远程的时候,等于没进入一个单元格,都要执行一次sql查询,生成一个临时表,然后再取不重复值。

2、而且你明明只需要生成下拉列表,只需一列的数据,可是你却Select *,也就是查询所有所属,至少应该改为: Select 列名 where 条件,但这不最重要的原因。

 

建议,打开项目的时候,将这个表的此列数据全部加载到一个dataTable中,以后都从这个dataTable取值生成下拉列表,不用每次都执行sql查询。

 

 

[此贴子已经被作者于2013-11-6 17:34:00编辑过]

 回到顶部