2014-01-14 5 views
1

Я хочу получить количество выбранных строк или код возврата SQL. Идея состоит в том, чтобы не делать listview1.dataBind, когда ничего не было возвращено. Я не могу выполнить cmd.ExecuteNonQuery() здесь, я знаю. Я хотел бы получить что-то подобное.получить количество строк, выбранных из ListView

private void ListApointement(string sChoixDdl) 
{ 
    using (ApointementDataContext db = new ApointementDataContext()) 
    { 
     var aptItems = from Apointement in db.Apointement 
         where Apointement.doctorName == sChoiceDdl && 
          Apointement.isAvailable == true && 
          Apointement.date >= DateTime.Now 
         select Apointement; 

        ListView1.DataSourceID = null; 
        ListView1.DataSource = aptItems; 

//I want to get the number or rows which have been selected or the sql return code. 
        int numberOfRecords = cmd.ExecuteNonQuery(); 

        ListView1.DataBind(); 

    }; 
} 
+0

Вы хотите, чтобы количество записей, возвращаемых запросом 'linq', который вы используете уже в образце, или вам нужно выполнить другой запрос? –

+0

cmd.ExecuteNonQuery не работает! – user3127986

+0

где ваша командная строка ??? –

ответ

0

Вот я исправил этот вопрос. Я оставил DataBind() вне оператора if, потому что он вызывал ошибку «Не удается получить доступ к удаленному объекту». после в программе. Я решил создать пустой ListView + сообщение об ошибке.

    ListView1.DataSourceID = null; 
        ListView1.DataSource = rdvItems; 

        int numberOfRecords = rdvItems.Count(); 
        if (numberOfRecords == 0) 
        { 
         lblMessage.Text = "No Apointement are available"; 

        } 


        ListView1.DataBind(); 
0

Вы должны быть в состоянии сделать это:

if (aptItems.Count() > 0) 
    ListView1.DataBind(); 
Смежные вопросы