2014-01-03 4 views
-1

есть ли способ присвоить переменную в CompanyName и AccountNo? Может кто-нибудь мне помочь. =)Присвоение переменной запросу SELECT

 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) 
+0

Используйте 'Параметризированные запросы'! – OneFineDay

+0

извините, но пока не знаю. вы можете построить параметризованные запросы? –

+0

Что вы хотите получить здесь? Вы хотите заполнить набор данных или вы хотите отправить параметр как где? –

ответ

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) 

Теперь у вас есть все ваши данные в наборе данных вы можете использовать этот набор данных, чтобы заполнить сетку или любой другой.

-1

Если его подачи несколько строк, то вы можете получить данные в DataTable затем используя для цикла вы можете получить значение переменных.

+0

Как я могу получить CompanyName и AccountNo для переменной? –

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); 
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") будет содержать первое имя компании из запроса.

Смежные вопросы