2016-07-15 230 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