以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLFIND 找不到相应数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61708)

--  作者:tesia255
--  发布时间:2014/12/17 16:47:00
--  SQLFIND 找不到相应数据
目的:根据A表【AGENT_CODE】列值得变化,将关联的B表的【INSTITUTION】列值赋值给 A表的【MECHANISM】列(B表限制初始加载量了)

表 A    DataColChanged  事件 :

Select Case  e.DataCol.Name
    Case "AGENT_CODE"  
        Dim pr As DataRow = e.DataRow
        If pr.IsNull("AGENT_CODE") Then
        Else
            \'If  e.DataRow("AGENT_CODE") IsNot Nothing OrElse  e.DataRow("AGENT_CODE") <> ""  Then
                      Dim dr As DataRow
            Dim sr As String = pr("AGENT_CODE") 
            dr = DataTables("AGENT_INFORMATION").SQLFind("AGENT_CODE = \'"& sr &"\' ") 
            If dr IsNot Nothing Then                 
                pr("MECHANISM")=dr("INSTITUTION")             
             Else
                msgbox("没找到此人数据")
            End  If
        End If
        
End Select  


每次执行都是现实 “没有找到此人数据”
但是 实际数据库中有那个人数据 将 "& sr &"\'  改成真实数据  也是现实没有找到   

是代码 哪里写错了吗? 

请版主指教~~~   谢谢啦~

[此贴子已经被作者于2014-12-17 16:51:59编辑过]

--  作者:有点甜
--  发布时间:2014/12/17 16:50:00
--  

 找不到的话,说明条件就是找不到的。

 

 注意数据库的数据,是否有空格之类的影响了。


--  作者:tesia255
--  发布时间:2014/12/17 17:02:00
--  
换了个写法可以了

  Case "AGENT_CODE"  
        Dim pr As DataRow = e.DataRow
        If pr.IsNull("AGENT_CODE")  Then
        Else
            Dim sr As String = pr("AGENT_CODE")
            Dim Products1 As List(Of String)
            Products1 = DataTables("AGENT_INFORMATION").SQLGetValues("INSTITUTION", "AGENT_CODE = \'"& sr &"\'" )
            For Each Product As String In Products1
                pr("CITIES")= Product
            Next
        End If


--  作者:有点甜
--  发布时间:2014/12/17 17:04:00
--  
图片点击可在新窗口打开查看 呃,不会吧?SqlFind的封装对Oracle有问题?