Re: Count Sql C#
От: Andrew Andriychuk Украина  
Дата: 27.08.08 06:05
Оценка: -1
Здравствуйте, Welt, Вы писали:

W>Привет! Есть вот такая проблема,нужно просто посчитать количество записей и записать их в переменную. в последней строчке выдает ошибку "Недопустимая попытка чтения при отсутствии данных." хотя проверяю отдельно запрос он работает

W>string SqlID = string.Format(@"SELECT COUNT(Type_Auto_ID) AS Expr1 FROM Type_Auto");
W> SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=""C:\Documents and Settings\Admin\Рабочий стол\Auto Base\Auto_Base.mdf"";Integrated Security=True;Connect Timeout=30;User Instance=True");
W> SqlCommand cnd = new SqlCommand(SqlID, cn);
W> cn.Open();
W> SqlDataReader mydatareader;
W> mydatareader = cnd.ExecuteReader(CommandBehavior.CloseConnection);
W> string sss = mydatareader["Expr1"].ToString().Trim();

Советую использовать для таких целей хранимые продцедуры с возвращаемыми параметрами. Повысиш быстродействие и будет легче отлаживать код.
Создай хранимую продцедуру с параметром Expr1, а потом в режиме отладки проверь значение параметра. Вероятней всего сейчас mydatareader["Expr1"] возвращает null. Еще строка CommandBehavior.CloseConnection возможно проблема в ней т.е запрос выполняется и соединение закрывается, а SqlDataReader обращается к пустому набору данных. Вобщем мой совет — используй хранимые продцедуры.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.