У меня есть база данных SQL Server 2008, и я работаю над этим в бэкэнде. Я работаю на asp.net/C#
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//how do I read strings here????
}
Я знаю, что у читателя есть ценности. Моя команда SQL состоит в том, чтобы выбрать только 1 столбец из таблицы. Столбец содержит ТОЛЬКО строки. Я хочу прочитать строки (строки) в читателе по одной. Как мне это сделать?
Поставьте имя столбца начала, возвращенного из базы данных, где
"ColumnName"
находится. Если это строка, вы можете использовать.ToString()
. Если это другой тип, вам нужно конвертировать его, используяSystem.Convert
.источник
это будет работать
источник
toString()
недействительно должно быть.ToString()
просто к вашему сведениюДля одного результата:
Для нескольких результатов:
источник
Мысль поделиться моим вспомогательным методом для тех, кто может его использовать:
Использование:
Вспомогательный метод приводит к любому значению, которое вам нравится, если оно не может быть приведено или значение базы данных равно NULL, результат будет нулевым.
источник
reader.GetColumn<int>("M_ID");
На самом деле, я сам понял, что могу сделать это:
источник
Trim()
не был упомянут в вопросе и так же здесь, но не в других ответах.Я знаю, что это немного по-старому, но если вы читаете содержимое SqlDataReader в класс, то это будет очень удобно. имена столбцов читателя и класса должны быть одинаковыми
источник
Я бы поспорил против использования
SqlDataReader
здесь; ADO.NET имеет множество крайних случаев и сложностей, и, по моему опыту, написанный вручную код ADO.NET разбивается по крайней мере одним способом (обычно тонким и контекстным).Инструменты существуют, чтобы избежать этого. Например, в случае здесь вы хотите прочитать столбец строк. Dapper делает это совершенно безболезненным:
Dapper здесь имеет дело со всей параметризацией, выполнением и обработкой строк - и множеством других шероховатых деталей ADO.NET.
<string>
Можно заменить<SomeType>
материализовать целые строки в объекты.источник
Проще говоря, если ваш запрос возвращает column_name и содержит строку:
источник
У меня есть вспомогательная функция, как:
затем я использую его для извлечения строки:
источник
Я обычно читаю данные читателем данных таким образом. просто добавил небольшой пример.
источник
Вы должны
read
database column
здесь. Вы могли бы посмотреть на следующий фрагмент кодаисточник