2013-04-18 160 views
0

我需要幫助從數據庫表中檢索ReceiptNO列並將其保存到TextBoxLabel以供引用。Microsoft SQL Server SELECT語句

CODE:

Dim da2 As New SqlDataAdapter 
da2.SelectCommand = New SqlCommand("SELECT RecepitNO FROM Receipt WHERE ([email protected] AND [email protected])") 
da2.SelectCommand.Parameters.Add("@paidFor", SqlDbType.VarChar).Value = cbMonth.Text 
da2.SelectCommand.Parameters.Add("@RegNO", SqlDbType.Int).Value = lblRegNO.Text 

cn.Open() 
da2.Update(ds.Tables("Receipt")) 
'da2.SelectCommand.ExecuteNonQuery() 
da2.SelectCommand.ExecuteReader() 
cn.Close() 

回答

0

您需要使用SqlDataReader,然後開始一個循環讀取返回的值
此示例將工作假設ReceiptNO是文本字段

cn.Open() 
Dim reader = da2.SelectCommand.ExecuteReader() 
while reader.Read() 
    textBox1.Text = reader("ReceiptNO").ToString() 
End While 

或者,如果您確定您的查詢返回零或只有一條記錄,並且您只對ReceiptNO字段感興趣,則可以使用ExecuteScalar

Dim cmd = New SqlCommand("SELECT RecepitNO FROM Receipt WHERE ([email protected] AND [email protected])") 
cmd.Connection = cn 
cmd.Parameters.Add("@paidFor", SqlDbType.VarChar).Value = cbMonth.Text 
cmd.Parameters.Add("@RegNO", SqlDbType.Int).Value = lblRegNO.Text 
cn.Open() 
Dim result = cmd.ExecuteScalar() 
if result IsNot Nothing Then 
    textBox1.Text = result.ToString() 
End If 

Here the MSDN docs on ExecuteScalar

+0

我的領域只返回1 receiptNO ...感謝..應儘量BTM的方法 – 2013-04-18 07:50:13

+0

修訂第二個例子中添加的連接對象 – Steve 2013-04-18 07:53:53

+0

它給了我InvalidOperationException異常是未處理的DIM結果= CMD。 executeScalar – 2013-04-18 08:25:00