将变量分配给SELECT语句查询

时间:2014-01-03 06:23:28

标签: vb.net vba vb6

有没有办法在CompanyName和AccountNo中分配变量?谁能帮我。 =)

      Dim con As SqlConnection = New SqlConnection("Data Source=PC11-PC\kim;Initial Catalog=Acounting;User ID=sa;Password=123")
    Dim cmd As SqlCommand = New SqlCommand("Select CompanyName, AccountNo From Company Inner Join Coa ON Company.CompanyID = Coa.CompanyID", con)

5 个答案:

答案 0 :(得分:0)

小教程。

http://www.aspsnippets.com/articles/Using-Parameterized-queries-to-prevent-SQL-Injection-Attacks-in-SQL-Server.aspx

网站示例:

Dim strQuery As String = "select * from customers where city = @city"
Dim cmd As New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@city", txtCity.Text.Trim)

答案 1 :(得分:0)

试试这样:

Dim cmd As SqlCommand = New SqlCommand("Select @CompanyName, @AccountNo From Company Inner Join Coa ON Company.CompanyID = Coa.CompanyID", con)
SqlCommand.Parameters.AddWithValue("@CompanyName", companyVariable);
SqlCommand.Parameters.AddWithValue("@AccountNo", accountVariable);

答案 2 :(得分:0)

要将查询结果分配给可在程序中使用的变量,可以使用DataAdapter和DataSet,如下所示:

Dim da As New SqlDataAdapter ' or MySqlDataAdapter
Dim ds As New DataSet
...
da.SelectCommand = cmd
da.Fill(ds)

然后ds.Tables(0).Rows将包含查询的结果。

例如,ds.Tables(0).Rows(0)("CompanyName")将包含查询中的第一个公司名称。

答案 3 :(得分:0)

试试这样:

  Dim con As SqlConnection = New SqlConnection("Data Source=PC11-PC\kim;Initial Catalog=Acounting;User ID=sa;Password=123")
  Dim cmd As SqlCommand = New SqlCommand("Select CompanyName, AccountNo From Company Inner Join Coa ON Company.CompanyID = Coa.CompanyID", con)
  'Add this to your code
  Dim DA as data adapter
  Dim ds as new dataset
  DA.selecetcommand = cmd
  Da.fill(Ds)

现在,您拥有数据集中的所有数据,您可以使用此数据集来填充网格或其他任何内容。

答案 4 :(得分:-1)

如果它给出了多行,那么你可以将数据提取到datatable中,然后通过使用for循环,你可以获得变量中的值。