我尝试从第二个表中读取数据,以填充表单上的几个文本框。
涉及的两个表: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)
您粘贴在一起的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)