加入表格合适的语法

时间:2017-07-31 21:19:42

标签: sql-server vb.net

我尝试从第二个表中读取数据,以填充表单上的几个文本框。

涉及的两个表: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并不是我的强项,但我知道这可以做到,但我还没有完全理解如何使用内部联接将数据移植到表单中。

我花了好几天观看视频和阅读信息,但没有任何东西可以帮助我满足我的特定需求,或者如果有的话,我不理解它。这是最后的要求。

1 个答案:

答案 0 :(得分:0)

您粘贴在一起的SQL查询无效("行"之间没有空格)。并且您必须在SELECT子句中使用表别名。

如果您使用VB的新多行字符串文字和参数,这会容易得多。然后可以在SSMS中逐字测试您的SQL查询。

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)