2016-07-15 198 views
0

将MS SQL数据库与正在转换为ASP.net VB的MS Access .adp前端进行了继承。使用转换工具,在调试完成后大部分工作都做得很好。但它不能转换在组合框中使用的DLookup函数,因为它不被支持。对于.net而言,如果将DLookup函数转换为SQL语句,我们并不清楚。表名:dbo.Contact 主窗体名称:Contact_Edit 子窗体名称:Contact_Edit_Sub将MS Access.adp转换为ASP.Net转换:DLookup转换为SQL

有很多组合框有许多Dlookup函数。一旦我有一个我可以重新平衡。任何帮助转换语句表示赞赏。

目前的代码列表如下:

*If Not IsDBNull(Me.Contact_Edit.Contact_Edit_Sub.Intake_Worker_Code) Then 
        Intake_Worker_Code_Desc.Text = DLookup("[Name]", "Staff", "Code ='" & Intake_Worker_Code.SelectedValue & "'") 
    Else 
     Intake_Worker_Code_Desc.Text = "" 
    End If* 

回答

0

试试这个,其中[Name]是外地和Staff是表

SELECT [Name] FROM Staff WHERE Code = '" & Intake_Worker_Code.SelectedValue & "'; 

在这里,你可以阅读更多关于使用DLookup做:


更新基于评论

VB.Net SQL代码示例

If Not IsDBNull(Me.Intake_Worker_Code) Then 

    Dim conn_str As String = ConfigurationManager.ConnectionStrings("YourConnectionString").ConnectionString 
    Dim myconn As New SqlConnection(conn_str) 
    Dim sc As New SqlCommand() 
    sc.CommandText = "Select [Name] FROM [Staff] WHERE (Code = '") & (Intake_Worker_Code.SelectedValue & "')" 
    sc.Connection = myconn 
    myconn.Open() 

    Intake_Worker_Code_Desc.Text = sc.ExecuteScalar().ToString() 

    myconn.Close() 

Else 
    Intake_Worker_Code_Desc.Text = "" 
End If 
+0

你是正确的表名员工。我的错。我在您的声明中的“选择”一词中获得“期望表达”。有任何想法吗? – srw

+0

@srw不,你可以发布更大的代码部分? – LGSon

+0

不确定这会有所帮助。如果我能得到第一个条件的语法,我应该能够得到其余的。目前Visual Studio错误=预期的语句结束。子Form_Current() 如果不IsDBNull以便(Me.Intake_Worker_Code)然后 Intake_Worker_Code_Desc.Text = “选择[名称] FROM [工作人员] WHERE(代码= '”)(Intake_Worker_Code.SelectedValue& “')” 否则 Intake_Worker_Code_Desc。 Text =“” End If End Sub – srw