以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]求助加粗部分哪里错了  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119440)

--  作者:lin1221
--  发布时间:2018/5/24 21:05:00
--  [求助]求助加粗部分哪里错了
在做微信公众号, 所有代码没有问题, 但是加上粗体部分, 查询结果什么数据也没有,用messagebox.show,用户名没有问题, 但是就是通过用户名提取csuser表里面用户名对应的客户, 怎么都得不到客户名称
比如我通过登陆的用户名cs01, 把客户A 放到SQL里面生成查询表,只显示这个用户对应的相关数据。

    Case "list.htm"

        Dim cmd As new SQLCommand

        cmd.C

        Dim nm = UserName

       MessageBox.show(nm)

        Dim dr3 As DataRow

        Dim kh As String

        dr3 = DataTables("csuser").sqlfind("username = \'" & nm &"\'",0)

       If dr3 IsNot Nothing Then

        \'Dim kh As String

        If kh IsNot Nothing Then

            kh = dr3("客户").SQLGetValue

       MessageBox.show(kh)

        End If

       End If

cmd.CommandText = "S* 区域,收货客户,客户单号及其他 as 单号或料号, GPS,[要求到货日期],[实际到货日期],异常 from 跟踪表 where 客户 = \'" & kh & "\'"

Dim flt As String

        If e.PostValues.ContainsKey("danhao") Then

            flt = "客户单号及其他 = \'" & e.PostValues("danhao") & "\'"

        End If

        If e.PostValues.ContainsKey("startdate") Then

            If flt > "" Then

                flt = flt & " and "

            End If

            flt = flt & "日期 >= \'" & e.PostValues("startdate") & "\'"

        End If

        If e.PostValues.ContainsKey("enddate") Then

            If flt > "" Then

                flt = flt & " and "

            End If

            flt = flt & "日期 <= \'" & e.PostValues("enddate") & "\'"

        End If

        If flt > "" Then

            cmd.CommandText = cmd.CommandText & " where " & flt

        End If

        With wb.AddTable("","Table1")

            .CreateFromDataTable(cmd.ExecuteReader)

        End With

        With wb.AddButtonGroup("","btg1",True)

            .Add("btn1", "重新查询", "","filter.htm")

        End With

 

 

csuser表结构是

username    password   客户

cs01            111          A

cs02            111          B

cs03            111          C

 

跟踪表结构:

客户 日期           区域  收货客户   客户单号及其他   要求到货日期   GPS

A    2018-5-5    SH    jerry       A00004             2018-5-21    XXXXXXX


[此贴子已经被作者于2018/5/24 21:09:48编辑过]

--  作者:lin1221
--  发布时间:2018/5/24 21:09:00
--  
select 我打出来上传说出错, s* 表示select
[此贴子已经被作者于2018/5/24 21:10:13编辑过]

--  作者:有点甜
--  发布时间:2018/5/24 22:05:00
--  

试试改成

 

Dim dr3 = DataTables("csuser").sqlfind("username = \'" & nm & "\'")
If dr3 IsNot Nothing Then
    msgbox(dr3("客户"))
Else
    msgbox("没找到")
End If


--  作者:lin1221
--  发布时间:2018/5/25 13:42:00
--  
按照老师的就可以了, 那加上 as datatow 与不加为什么会不一样?
原来 
dim dr3 as databow
dr3 = DataTables("csuser").sqlfind("username = \'" & nm &"\'",0)
老师的:
Dim dr3 = DataTables("csuser").sqlfind("username = \'" & nm & "\'")

为什么我的就不行?

--  作者:有点甜
--  发布时间:2018/5/25 14:34:00
--  

4楼的,改成下面也是可以的

 

dim dr3 as databow
dr3 = DataTables("csuser").sqlfind("username = \'" & nm &"\'")