DataGridView保存数据加载数据完整范例
时间: 2024-09-30 08:13:30 浏览: 1
DataGridView是Windows Forms中用于显示表格数据的一种控件。它支持保存和加载数据到数据库或其他数据源。以下是一个简单的范例,展示如何使用DataGridView实现数据的保存和加载:
### 保存数据:
1. 首先,确保有一个DataTable或者DataSet存储你的数据。例如,`dataTable`。
```csharp
// 创建DataTable示例
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(string));
dataTable.Columns.Add("Column2", typeof(int));
// ...填充数据...
// 将DataTable绑定到DataGridView
dataGridView.DataSource = dataTable;
```
2. 当需要保存数据时,可以将DataGridView的数据转换回DataTable,并使用SqlCeDataAdapter、SqlConnection等保存到数据库:
```csharp
// 假设我们有一个SqlConnection connection
string connectionString = "your_connection_string";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter("INSERT INTO your_table (Column1, Column2) VALUES (?, ?)", connection);
adapter.SelectCommand.Parameters.AddWithValue("@Column1", dataGridView.CurrentRow.Cells["Column1"].Value);
adapter.SelectCommand.Parameters.AddWithValue("@Column2", dataGridView.CurrentRow.Cells["Column2"].Value);
// 如果有多个行,可以用foreach遍历每一行
foreach (DataGridViewRow row in dataGridView.Rows)
{
// 对每一行处理...
}
// 使用adapter填入数据并保存
adapter.Fill(dataTable);
}
```
### 加载数据:
1. 从数据库或其他数据源获取数据到DataTable或DataSet。
```csharp
connection.Open();
SqlDataReader reader = connection.ExecuteReader("SELECT * FROM your_table");
while (reader.Read())
{
dataTable.Rows.Add(reader.GetString(0), reader.GetInt32(1)); // 假设你的表有两个列
}
reader.Close();
connection.Close();
// 然后设置DataSource
dataGridView.DataSource = dataTable;
```
**相关问题--:**
1. 如何处理DataGridView中的分页和排序?
2. 数据保存时如何处理异常情况?
3. DataGridView能否直接连接到Excel文件读取数据?如果不能,有哪些第三方库可以帮忙?