Как определить, возвращаются ли нулевые записи в SqlDataAdapter
У меня есть следующий код
string connString = ConfigurationManager.ConnectionStrings["XXXConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlDataAdapter SQLDataAdapter1 = new SqlDataAdapter("SELECT * FROM EVENTSignUp WHERE (MembmerEmail = " + userInfo.Email + ")", conn);
DataTable dtResult1 = new DataTable();
SQLDataAdapter1.Fill(dtResult1);
но если нет записей, я просто получаю исключение по адресу:
SQLDataAdapter1.Fill(dtResult1);
как определить, нет ли записей, возвращенных по этому запросу?
3 ответа
Я думаю, что проблема не в записях, повторно сохраняемых SqlDataAdapter, потому что даже если он пуст, он не будет генерировать исключение. проблема в вашем запросе, потому что поле электронной почты varchar, и это должно быть так:
SqlDataAdapter SQLDataAdapter1 = new SqlDataAdapter("SELECT * FROM EVENTSignUp WHERE (MembmerEmail = '" + userInfo.Email + "')", conn);
dtResult1.Rows.Count > 0
-- редактировать
Не подписывайтесь читать пост; обратите внимание, что вы получаете исключение на.Fill. Очевидно, мой фрагмент кода здесь не поможет вам в этом. Как просили другие; что является исключением?
-- редактировать:
И, как уже отмечали другие, ваш запрос должен иметь форму:
SqlCommand command = new SqlCommand(@"
select
*
from
EVENTSignUp
where
MemberEmail = @MemberEmail
");
SqlParameter param = new SqlParameter("@MemberEmail", SqlDbType.NVarChar);
param.Value = userInfo.Email;
command.Parameters.Add(param);
SqlDataAdapter dtResult1 = new SqlDataAdapter(command);
DataTable dtResult1 = new DataTable();
SQLDataAdapter1.Fill(dtResult1);
Вы также можете проверить это с помощью SqlDataReader
, Вот простой пример, чтобы проверить, SqlDataReader
имеет результат или нет по этому:
String con_string = "Your Connection String Here";
String strSQL = "Your Query Here";
using (SqlDataReader objNameDR = SQLHelper.ExecuteReader(con_string, CommandType.Text, strSQL, null)) {
if (objNameDR.HasRows) {
// Having Rows
}
else{
// Having No Row (Zero Record)
}
}