以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 从服务器SQL数据表中带出相应内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150276)

--  作者:leoli
--  发布时间:2020/5/25 22:52:00
--  [求助] 从服务器SQL数据表中带出相应内容
你好,老师

表A的第一列 产品名称,第二列是描述。

如何根据第一列的产品名称,从服务器SQL数据表 database 中找出相应的描述,然后写入第二列中 ? 

谢谢。

--  作者:有点蓝
--  发布时间:2020/5/25 23:07:00
--  
参考:http://www.foxtable.com/webhelp/topics/1451.htm

Select Case e.DataCol.Name
    Case
 "
第一列"
        
Dim dr As DataRow = e.DataRow
        
Dim pr As DataRow
        
If dr.IsNull("第一列"Then
            dr(
"描述") = Nothing
        
Else
            
Dim filter As String
            filter = 
"第一列 = \'" & dr("第一列") & "\'"
            pr = 
DataTables("database ").sqlFind(filter)
            If
 pr IsNot Nothing 
Then
                dr(
"描述") = pr("描述")
            End
 
If
        
End If
End
 Select

--  作者:leoli
--  发布时间:2020/5/26 18:56:00
--  
老师,这个d
图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看
atabse 是外部数据表,在服务器上,还没有导入进来。如图出错了,可以不导入这个表直接从服务器中的sql中取值吗 ?
--  作者:leoli
--  发布时间:2020/5/26 18:57:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:捕获2.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/5/26 20:18:00
--  
参考:http://www.foxtable.com/webhelp/topics/0696.htm
--  作者:leoli
--  发布时间:2020/5/26 21:53:00
--  
老师,这有点不懂, 加了如下,还是错的,麻烦帮忙指点, 可否改成按钮代码 ?谢谢了。


Dim cmd As new SQLCommand
cmd.C

Select Case e.DataCol.Name
    Case "第一列"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("第一列") Then
            dr("描述") = Nothing
        Else
            Dim filter As String
            filter = "FNumber = \'" & dr("第一列") & "\'"
            pr = DataTables("database").sqlFind(filter)
            If pr IsNot Nothing Then
                dr("描述") = pr("Fname")
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2020/5/26 22:03:00
--  
先学一下基础吧:http://www.foxtable.com/webhelp/topics/1592.htm

dim r as row = tables("xxx").current
if r isnot nothing then
Dim ld As string
Dim 
cmd As New SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd.CommandText = 
"Select top 1 Fname From {database} Where "FNumber = \'“ & r("xx列") & ”\'"
ld = cmd.ExecuteScalar()
r("描述") = ld
end if

--  作者:leoli
--  发布时间:2020/5/26 22:28:00
--  
谢谢,可出现了个错误,
图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/5/26 22:33:00
--  
cmd.CommandText = "Select top 1 Fname From {database} Where FNumber = \'“ & r("第一列") & ”\'"
--  作者:leoli
--  发布时间:2020/5/27 7:39:00
--  
感谢。第一列有很多记录时,这个要一个个的点,可不可以将所有第一列中的记录一次性完成,不包含空白 ? 谢谢。

dim r as row = tables("xxx").current
if r isnot nothing then
Dim ld As string
Dim 
cmd As New SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd.CommandText = 
"Select top 1 Fname From {database} Where "FNumber = \'“ & r("xx列") & ”\'"
ld = cmd.ExecuteScalar()
r("描述") = ld
end if