3

SQL クエリの結果をラベルに表示しようとしていますが、表示されません。これは私のコードです:

     string result = "SELECT ACTIVE FROM [dbo].[test] WHERE ID = '" + ID.Text + "' ";
     SqlCommand showresult = new SqlCommand(result, conn);
     conn.Open();
     showresult.ExecuteNonQuery();
     string actresult = ((string)showresult.ExecuteScalar());
     ResultLabel.Text = actresult;
     conn.Close();

助けが必要です。ありがとう!

4

5 に答える 5

9

これを試してください。

   string result = "SELECT ACTIVE FROM [dbo].[test] WHERE ID = '" + ID.Text + "' ";
   SqlCommand showresult = new SqlCommand(result, conn);
   conn.Open();
   ResultLabel.Text = showresult.ExecuteScalar().ToString();
   conn.Close();
于 2012-01-11T02:01:03.010 に答える
1

結果と呼び出しまたはメソッドSqlParameterをフィルタリングするために使用します。ExecuteScalar()ExecuteReader()

 string result = "SELECT ACTIVE FROM [dbo].[test] WHERE ID=@ID";
 SqlCommand showresult = new SqlCommand(result, conn);
 // If ID is int type
 showresult.Parameters.Add("@ID",SqlDbType.Int).Value=ID.Txt; 

 // If ID is Varchar then 
 //showresult.Parameters.Add("@ID",SqlDbType.VarChar,10).Value=ID.Txt; 

  conn.Open();
  string actresult = (string)showresult.ExecuteScalar(); 
  conn.Close();
  if(!string.IsNullOrEmpty(actresult))
       ResultLabel.Text = actresult;
  else
       ResultLabel.Text="Not found";
于 2012-01-11T02:01:26.033 に答える
1
using (SqlConnection conn = new SqlConnection(connectionString))
{
    string result = "SELECT ACTIVE FROM [dbo].[test] WHERE ID = @id";
    SqlCommand showresult = new SqlCommand(result, conn);
    showresult.Parameters.AddWithValue("id", ID.Text);

    conn.Open();
    ResultLabel.Text = showresult.ExecuteScalar().ToString();
    conn.Close();
}

これにより、接続が破棄され、クエリに文字列連結がなくなります。

于 2012-06-01T13:15:42.647 に答える
1

そこにタイプミスはありますか?データベースへの呼び出しが 2 つあります。

showresult.ExecuteNonQuery();

これは値を返しません。なぜそこにあるのかわかりません

string actresult = ((string)shresult.ExecuteScalar());

shresult 変数がない限り、このクエリはエラーになるはずです。shresult 変数とは何ですか?

于 2012-01-11T01:54:48.787 に答える