Foxtable(狐表)用户栏目专家坐堂 → 后台数据的处理方式的疑问?


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

主题:后台数据的处理方式的疑问?

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
后台数据的处理方式的疑问?  发帖心情 Post By:2014/2/20 21:29:00 [只看该作者]

想从外部数据源的基础数据表“产品编码”中提取数据填充其他列(未加载表),有以下几咱方式
方式一、
Dim nms() As String = {"类别","品名","规格","图号","产品来源","计量单位"}
Dim cmd As New SQLCommand  '从后台产品编码表取数填充
Dim dt As DataTable
cmd.ConnectionName = Mydata
cmd.CommandText = "SELECT 产品编码,类别,品名,规格,图号,产品来源,计量单位 From {产品编码} where [产品编码] = '" & e.DataRow("产品编码") & "'"
dt = cmd.ExecuteReader()
If dt.DataRows.count > 0 Then
    Dim dr As DataRow = dt.DataRows(0)
    For Each nm As String In nms
        e.DataRow(nm) = dr(nm)
    Next
End If
方式二、(2014版)
Dim nms() As String = {"类别","品名","规格","图号","产品来源","计量单位"}
Dim drs As List(of DataRow
drs = DataTables("订单").SQLSelect("产品编码 =  '" & e.DataRow("产品编码") & "'")
dim 
dr As DataRow = drs(0)
For Each nm As String In nms
        e.DataRow(nm) = dr(nm)
Next

请问上述两种方式哪种快?

如果有SQLFind就好了,直接从后台查找到一行数据出来就行,那样是否更快?
谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/20 21:53:00 [只看该作者]

两种方法都是一样的,只是第二种方便一点,帮你封装了sql语句

sqlfind相当于 select top 1 产品编码 from {订单}

sqlselect相当于 select 产品编码 from {订单}

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/2/21 7:37:00 [只看该作者]

新的测试版有SqlFind函数

 回到顶部