2017-07-31 68 views
-1

我嘗試從第二個表中讀取數據來填充我的表上的幾個文本框。連接表正確的語法

兩個表參與其中:LOAD_INFO_TABLE和FUEL_TABLE

我試圖加入它們的方式:

 Dim taFuel As New IFTAFuelDataSetTableAdapters.Fuel_TableTableAdapter 
    taFuel.Adapter.SelectCommand = New SqlClient.SqlCommand("SELECT Load_Info_table.PETS_LOAD_NUMBER" & _ 
    "From Load_Info_Table As l" & _ 
    "INNER JOIN Fuel_Table AS f" & _ 
    "ON l.PETS_LOAD_NUMBER = f.PETS_LOAD_NUMB" & _ 
    "Where f.PETS_LOAD_NUMB ='" & tbPETSLoadNumber.ToString & "'", taFuel.Connection) 

我假設我還需要創建一個新的數據集從與信息從工作LOAD_INFO_TABLE和FUEL_TABLE,但不確定如何做到這一點。

我的最終目標是我希望能夠加載相關的是存在的特定負載數量數據,並分散到兩個表。然後利用新的數據集爲我的表單填充關於該加載數字的信息,這種類型的「全部收錄」頁面包含一個表單上的重要數據,而不需要多個表單並在它們之間進行切換。

具體我期待填充購買到負載信息表中的總燃料成本和加侖。我想這樣做是爲了消除將兩個表中的確切信息放在一起的需要。這是多餘的。

進一步說明:我希望能夠輸入或逐步執行加載或查看特定加載(2017001作爲示例),並且加載信息屏幕引入從LOAD_TABLE和FUEL_TABLE請求的所有數據。我也想從FUEL_TABLE中提取數據,並在負載屏幕上填充特定的文本框。 JOINING不是我的強項,但我知道這可以完成,但我不完全理解如何使用內連接將數據移植到表單中。

我花了幾天觀看視頻和閱讀信息,但沒有幫助我在我的特定需求,或者如果它我不理解它。這是最後的手段要求。

+0

創建存儲過程並傳遞參數。它比在即席查詢中傳遞值更快。 –

+0

同意並在閱讀後瞭解如何創建存儲過程。它現在已經創建。 MSSMS中的存儲過程SQL語句在DGV中正常工作並返回預期數據。現在我需要了解如何閱讀這個新的數據集並在我的VB表單中填充特定的文本框。我創建了一個連接字符串(我認爲它是正確的),但無法看到數據集,因此不知道它是否會帶回任何內容。 –

回答

0

要粘貼在一起的SQL查詢(「線」之間沒有空格)無效。你必須在SELECT子句中使用表別名。

這是如果你使用VB的新的多行字符串和參數容易得多。然後你的SQL查詢可以在SSMS中逐字測試。

EG

 Dim sql = " 
SELECT l.PETS_LOAD_NUMBER 
From Load_Info_Table As l 
INNER JOIN Fuel_Table AS f 
ON l.PETS_LOAD_NUMBER = f.PETS_LOAD_NUMB 
Where f.PETS_LOAD_NUMB = @loadNumber 
" 

     Dim cmd = New SqlClient.SqlCommand(sql, taFuel.Connection) 
     cmd.Parameters.AddWithValue("@loadNumber", tbPETSLoadNumber.ToString) 

     taFuel.Adapter.SelectCommand = New SqlClient.SqlCommand(sql, taFuel.Connection)