2016-04-22 8 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 =(String)をcmd.ExecuteScalar();'間違った方法、私はあなたの質問を理解していないか 'SqlDataReader' –

+0

を使用するにはGoogle。返された文字列に '_sFirstNameQuery'をすでに_設定しています。何が問題ですか? –

+0

結果がnullの場合、問合せが問合せになります。あなたは正しい方法を使用しています。 – CathalMF

答えて

0

nullです。あなたは@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)を取り除かなければならなかった。 try – Lanshore

+0

@lanshoreこれを正しい答えとマークアップするのを忘れないでください。 – CathalMF

関連する問題