2012-05-03 3 views
-1

タイトルから、SQLデータベースからクエリを実行したときに結果を取得できないことがわかります。ここで が私のコードです:Webサービスのユーザ入力に基づいてクエリsqlが結果を表示できない

public string Summon(int Input1) 
{ 
    SqlDataAdapter dbadapter = null; 
    DataSet returnDS = new DataSet(); 

    using (SqlConnection dbconn = new SqlConnection(
     "DatabaseConnection")) 
    { 
     SqlCommand cmd = new SqlCommand(); 
     //string sqlQuery = "select * from SUMMON"; 

     string sqlQuery = "select * from SUMMON where [email protected]"; 

     cmd.CommandText = sqlQuery; 
     cmd.Connection = dbconn; 
     dbadapter = new SqlDataAdapter(cmd); 

     dbadapter.Fill(returnDS); 
    } 

    return returnDS.GetXml(); 
} 

それから私は、この例外を取得: -

System.Data.SqlClient.SqlException:入力1 " @スカラー変数"を宣言する必要があります。

+1

回答を含めるために質問を編集しないでください。答えの横にある大きなチェックマークボタンをクリックすると、正しい答えが表示されます。 – MPelletier

+0

申し訳ありませんが、私は私の質問を編集していませんでした、私はその答えを入れなかったのですか... ..あなたはなぜそんなことを言うのですか.. ..とにかく、情報のおかげで.. :) –

+1

私たち全員。上の質問を編集し、以下の答えを追加し、多くの '@'文字で区切っています。私は以前のバージョンにロールバックし、少しフォーマットしました。 – MPelletier

答えて

1

あなたがCMDに入力1 @という名前のパラメータを追加する必要があります。

cmd.Parameters.Add(new SqlParameter("@Input1", input1)); 

This articleは、データアダプタでパラメータを使用する方法について説明します。

+0

cmd.Parameters.Add( "@ Input1"、Input1); string sqlQuery = "select * from SUMMONここで、ic_no = 'Input1'"; –

+0

私はそれを作ったが、まだXMLで出力を得ることができない。 –

+0

この例外をスローしました:: SqlParameterCollectionは、Int32オブジェクトではなくnull以外のSqlParameter型オブジェクトのみを受け入れます。 –

関連する問題