数据库连接
数据库操作
- 对数据库进行 增删改 操作(
Command
)
以Access数据库为例(SQL数据库操作相同)
//数据库连接字符串
string connectStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据文件路径"
//连接数据库
OleDbConnection connection = new OleDbConnection(connectStr);
connection.Open();
/*数据库操作*/
OleDbCommand command = new OleDbCommand(数据库语句, connection);
command.ExecuteNonQuery();
connection.Close();
- 对数据库进行 查询 操作(
DataAdapter
、DataReader
)
分别以Access和SQL数据库展示两种不同的查询方法
用 DataAdapter
对数据库进行查询操作(Access数据库)
//数据库连接字符串
string connectStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据文件路径"
//连接数据库
OleDbConnection connection = new OleDbConnection(connectStr);
connection.Open();
/*数据库操作*/
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(查询语句, connection);
DataTable table = new DataTable();
//把数据保存在table中
dataAdapter.Fill(table);
//将table作为dataGridView1的数据源
dataGridView1.DataSource = table;
connection.Close();
用 Command
+DataReader
对数据库进行查询操作(SQL数据库)
//数据库连接字符串
string connectStr = "data source =.; initial catalog = 要连接的数据库名; integrated security = true";
//连接数据库
SqlConnection connection = new SqlConnection(connectStr)
connection.Open();
/*数据库操作*/
SqlCommand command = new SqlCommand(查询语句, con);
//返回一个DataReader对象
SqlDataReader dataReader = command.ExecuteReader();
//逐条读出查询到的数据,直到查询完毕
while (dataReader.Read())
{
//将读出的数据存到combobox1的项目中
combobox1.Items.Add(dataReader[0].ToString().Trim());
}
connection.Close();
DataReader
只能读取,.Read()
一次读取一行,不能回头不能跳过
DataReader常用功能 | 方法 |
---|---|
获取当前行中的列数 | .FieldCount |
是否包含一个或多个行 | .HasRows |
根据索引获取指定列的值 | .GetValue(int i) |
获取行内所有列的值 | .GetValues(object[] values) |