Как получить данные из DataTable в c#
В одной из предыдущих статей был показан пример работы с базой данных Mysql и c#. После этого многие стали обращаться с вопросами и вот один из них: «как вывести полученные данные не в dataGridView, а например, в какую-то переменную?».
Метод GetComments возвращает тип DataTable.
Это таблица, которая состоит из строк (Rows) и столбцов (Columns). К любой строке или колонке можно обратиться по индексу и получить нужные значения.
Несколько примеров:
private void button1_Click(object sender, EventArgs e) { DataTable dt = GetComments(); //результат: comment_author string columnName = dt.Columns[0].Caption; //результат: root string commentAuthor = dt.Rows[0].Field<string>("comment_author"); //результат: 20.01.2014 13:05:00 DateTime commentDate = dt.Rows[0].Field<DateTime>("comment_date"); }
Как видно ничего сложного, если есть ещё вопросы, оставляйте их в комментариях.
Читайте также:
здравствуйте, никак не могу добавить запись в таблицу Mysql из программы на c#, ошибок не выдает, но и данные не добавляет.
Вот код:
Может кроме запроса с Insert нужно еще что-нибудь писать? подскажите пожалуйста
Сначала открыть соединение с БД, а затем для каждой из команд выполнить метод ExecuteNonQuery для вставки данных.
Добавил новую статью: как добавить новую запись в базу данных Mysql.
HELP HELP HELP.
Как написать запрос на рандом, чтобы выводила случайную строку из всей таблицы в dataGridView или в лейблы.
Спасибо!)
Подскажите пожалуйста. Я сделал подключение к БД и поместил ее в dataGridView. Можно ли сделать так, что бы меняя значения на форме они менялись в БД?
Можно. Подписываешься на событие связанное с изменением значения в dgv и внутри него отправлять запрос к БД.
А можно как то по подробнее об этом, а то я слаб, не понимаю =(
1. Сначала создаёшь метод, который будет выполнять добавление или изменение данных в БД, например:
private void UpdateDB(string val1, int val2 …)
{
//описываешь логику
}
2. Затем подписываешься на событие связанное с изменением строки, ячейки и т.д.
3. Внутри данного события вызываешь метод UpdateDB, куда передаешь значения, которые были изменены в dgv.
здравствуйте
помогите разобраться
Ошибка 4 «System.Data.DataRow» не содержит определения для «Field» и не был найден метод расширения «Field», принимающий тип «System.Data.DataRow» в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
где мне взять эту ссылку на сборку .. ее нет .
В папке References должна быть строка: System.Data.DataSetExtensions, если её нет, то тогда нужно вручную добавить в проект ссылку на сборку: System.Data.DataSetExtensions.dll
Здравствуйте. А если нужно выбрать в переменную типа int значение из базы типа int , то как это сделать?
flagbaza = baz.Rows[0].Field(«Flag»); — выдает ошибку «Необработанное исключение типа «System.InvalidCastException» в System.Data.DataSetExtensions.dll
Дополнительные сведения: Заданное приведение является недопустимым.»
Таблица:
————————
|id | 0 |
————————
|name(varchar) | Oleg |
————————
|age(int) | 25 |
————————