2016-04-22 64 views
0

我需要在C#中設置來自SQL中簡單查詢的變量。 我有以下代碼:如何在c#中查詢設置字符串中的值?

String _sFirstNameQuery = ""; 
string sql = "SELECT Firstname FROM EnrollmentDB WHERE SessionID Like 'cc7b87e4c1074d93bfad451ae10eb3b0'"; 
using (conn) 
{ 
    SqlCommand cmd = new SqlCommand(sql, conn); 
    cmd.Parameters.Add("@Firstname", SqlDbType.VarChar); 
    try 
    { 
     conn.Open(); 
     _sFirstNameQuery = (String)cmd.ExecuteScalar(); 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 

我需要的是按照我需要的查詢設置一個字符串變量。 有人可以幫我解決嗎?當我調試的結果爲空

enter image description here

+0

'_sFirstNameQuery =(字符串)cmd.ExecuteScalar();'錯誤的方式,谷歌如何使用'SqlDataReader' –

+0

我不明白你的問題。您已經_do __FirstNameQuery'設置爲返回的字符串。問題是什麼? –

+0

如果結果爲空,那麼問題在於您的查詢。您正在使用正確的方法。 – CathalMF

回答

0

您正確地接近它,但你正在做的事情奇與參數。您沒有任何參數,因此不需要@FirstName行。

String _sFirstNameQuery = ""; 
string sql = "SELECT Firstname FROM EnrollmentDB WHERE SessionID Like 'cc7b87e4c1074d93bfad451ae10eb3b0'"; 
using (conn) 
{ 
    SqlCommand cmd = new SqlCommand(sql, conn); 

    try 
    { 
     conn.Open(); 
     _sFirstNameQuery = (String)cmd.ExecuteScalar(); 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 
+0

是的,你是對的!我不得不擺脫那個cmd.Parameters.Add(「@ Firstname」,SqlDbType.VarChar); 嘗試 – Lanshore

+0

@lanshore不要忘記標記爲正確的答案和upvote – CathalMF