2011-01-25 8 views
1

Вот мой код, чтобы распечатать данные в терминал:Работа с MySQL в C#

public static void WriteData() 
{ 
    string connString = "SERVER=localhost;" + 
     "DATABASE=db;" + 
     "UID=user;" + 
     "PASSWORD=pass;"; 

    MySqlConnection connection = new MySqlConnection(connString); 
    MySqlCommand command = connection.CreateCommand(); 
    MySqlDataReader reader; 

    command.CommandText = "SELECT * FROM table1"; 
    connection.Open(); 
    reader = command.ExecuteReader(); 

    while (reader.Read()) 
    { 
     for (int i = 0; i < reader.FieldCount; i++) 
      Console.Write(reader.GetValue(i).ToString() + " "); 
     Console.WriteLine(); 
    } 
    connection.Close(); 
} 

Теперь я хотел бы, чтобы просмотреть результаты в DataGridView. Все учебные материалы, которые я нашел, включают добавление внешних источников данных в сетку, о которых я не знаю, как это сделать в MySQL. (Также учтите, что у меня нет опыта разработки Windows Forms, но я думаю, что большинство графических интерфейсов - это drag-and-drop).

ответ

1

Как Daniel сказано, DataTable, будет достаточно для этого.

Если вы используете DataAdapter вы можете заполнить DataTable и затем привязать это к сетке, например:

DataGridView.DataSource = DataTable 

Если установить DataGridView в Автогенерация столбцов, то вы будете видеть каждый столбец в таблице данных , иначе вам нужно указать каждый столбец.

Вот код для заполнения таблицы данных из команды SQL:

using (SqlDataAdapter oSqlDataAdapter = new SqlDataAdapter(oSqlCommand)) 
{ 
    DataTable oDataTable = new DataTable(); 
    oSqlDataAdapter.Fill(oDataTable); 
    return oDataTable; 
} 

Очевидно, что вы должны использовать классы MySQL вместо классов SQL.

1

Лучший способ узнать об этом - узнать о таблицах данных и наборах данных. Это почти одинаково по всем направлениям. Вы можете сделать это, перетащив визуальную студию, но лучше иметь больше контроля над ней.

это отличный учебник в 4-х частей

http://www.codeproject.com/KB/grid/practicalguidedatagrids1.aspx

0

Если я не ошибаюсь, соединитель mysql для .net имеет класс MySqlAdapter, который вы можете использовать для получения DataSet, а затем помещать информацию в Datatable или Grid, как сказал WraithNath.