Использование select count (*) в c # - PullRequest
4 голосов
/ 18 апреля 2011
    String dd_webCofig = ConfigurationManager.ConnectionStrings["server132"].ConnectionString;
    SqlConnection ddlistconn = new SqlConnection(dd_webCofig);
    ddlistconn.Open();

    string ddlist = "select count(*) from jud_order where complex_name=@a and case_no=@b and sign=@c and jud_order_date=@d and user_code=@e";
    SqlCommand ddlistCmd = new SqlCommand(ddlist, ddlistconn);
    ddlistCmd.Parameters.AddWithValue("a", "a");
    ddlistCmd.Parameters.AddWithValue("b", "a");
    ddlistCmd.Parameters.AddWithValue("c", "a");
    ddlistCmd.Parameters.AddWithValue("d", "a");
    ddlistCmd.Parameters.AddWithValue("e", "a");

    SqlDataReader myReader = ddlistCmd.ExecuteReader();

У меня вышеупомянутый запрос, который возвращает количество строк, теперь моя проблема в том, как прочитать результат запроса?То, что я хочу, это

 if(count=0)
{ 
   //Do
} 
else if(counnt >0)
{
    //Do something else
}

Ответы [ 3 ]

13 голосов
/ 18 апреля 2011

Вместо этого вы хотите использовать ExecuteScalar();, который будет возвращать один результат.

Итак, эта строка:

ddlistCmd.ExecuteReader();

должно быть:

ddlistCmd.ExecuteScalar();

, который вы можете затем присвоить count после приведения типа результата.

0 голосов
/ 18 апреля 2011

Попробуйте:

myReader.Read();
count= int.Parse(myReader[0].ToString());
0 голосов
/ 18 апреля 2011
int result=ddlistCmd.ExecuteScalar();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...