2014-03-06 44 views
0

我有一個從數據庫中獲取名稱的代碼。代碼如下。獲取select語句的結果並將其放入變量中。 C#

public void Get_lastname() 
    { 
     string abc = null; 
     connstring.Open(); 
     OleDbCommand get_lastname = new OleDbCommand("SELECT lastname FROM tbltransactionhistory where name LIKE '" + txtname.Text + "'", connstring); 
     get_lastname.ExecuteNonQuery();   
     connstring.Close(); 
    } 

我不是在T-SQL語句的好,我想知道是否有可能,我讓SELECT語句的結果,並把它放在ABC變量?謝謝你們

+1

使用的SqlDataAdapter或SqlDataReader的。 –

回答

1

你可以使用ExecuteScalar()方法。

另外,不要連接字符串,請使用參數。

另外,你可以使用using結構打開連接,以確保它總是正確關閉:

string abc = null; 
using (OleDbConnection conn = new SqlConnection(connstring)) 
{ 
    conn.Open(); 
    OleDbCommand get_lastname = new OleDbCommand("SELECT lastname FROM tbltransactionhistory where name LIKE @name", conn); 
    get_lastname.Parameters.AddWithValue("@name", txtname.Text); 
    abc = (string)get_lastname.ExecuteScalar(); 
} 
+0

有一件事先生。代碼 使用(OleDbConnection conn =新的OleDbConnection(connstring)) 我得到一個錯誤。我該如何解決這個問題? –

+0

你有什麼錯誤? – Szymon

+0

「爲‘System.Data.OleDb.OleDbConnection.OleDbConnection(串)’的最佳重載的方法匹配具有一些無效參數」 和 參數1:無法從「System.Data.OleDb.OleDbConnection」轉換爲「字符串' –

相關問題