ADO.NET
简介
ADO.NET是微软.Net数据库的访问架构,它是数据库应用程序和数据源之间沟通的桥梁。
ADO.NET主要提供面向对象的数据访问架构,该架构用来开发数据库应用程序
ADO.NET 提供对诸如 SQL Server 和 XML 这样的数据源以及通过 OLE DB 和 ODBC 公开的数据源的一致访问。 共享数据的使用方应用程序可以使用 ADO.NET 连接到这些数据源,并可以检索、处理和更新其中包含的数据。
体系结构
Connection
主要用于提供与数据库的连接
Command
用于对返回数据、修改数据、运行存储过程、发送或检索参数信息的数据库命令
DataReader
主要用于读取表中的查询结果,并且是以只读方式读取的(即不能修改 DataReader 中存放的数据)。
DataAdapter
用作 DataAdapter 和数据源之间的 DataSet 桥梁,用于检索和保存数据
DataSet
在C#中建立一个临时数据库
DataTable
临时数据库的表
一、连接数据库
连接字符串
数据源(Data Source)+数据库名称(Initial Catalog)+用户名(User ID)+密码(Password)
Data Source = localhost; Initial Catalog = user; User Id = root; password = 123456;
创建MysqlConnection
public MySqlConnection myConnection = mysqlConnection();
public static MysqlConnection mysqlConnection(){
string DataSql = "Data Source...(见上个知识点)";
MySqlConnection mySql = new MySqlConnection(DataSql);
return mySql;
}
二、操作数据库
Command类:
Command对象主要执行包括添加、删除、修改操作。
操作数据库
public int MysqlCommand(string Inpoman)//Inpoman 需要执行的Sql语句
{
if(MysqlConntion.State != ConnectionState.Open)//判断连接的开启状态
{
MysqlConntion.Open();
}
MySqlCommand Mycommand = new MySqlCommand(Inpoman, MysqlConntion);//新建MysqlCommand类
int result = Mycommand.ExecuteNonQuery();//ExecuteNonQuery();连接对象执行Sql语句,返回结果受影响的行数
if(MysqlConntion.State != ConnectionState.Closed)//再次判断连接状态,关闭连接
{
MysqlConntion.Close();
}
return result;
}
查询数据(多)
使用MySqlAdapter和DataSet来查询多条数据
public DataSet DataGet(string Select)//Select:sql查询语句
{
if (MysqlConntion.State == ConnectionState.Closed)//判断连接状态
{
MysqlConntion.Open();
}
MySqlDataAdapter sda = new MySqlDataAdapter(Select, MysqlConntion);//新建MySqlDataAdapter
DataSet ds = new DataSet();//新建DataSet;
sda.Fill(ds);//Fill();在DataSet中添加或刷新行
if (MysqlConntion != null)//判断连接状态
{
MysqlConntion.Close();
}
return ds;//返回已经被填写好的DataSet
}
DataSet配合DataGridView控件使用
优点:更快,更便捷的将查询到的数据配合DataGridView控件展示给用户
DataGridView.DataSource = DataSet.Tables[0];//将DataSet中的表一设置为DataGridView的数据源
查询数据(单)
public string Select(string Select)//Select:sql查询语句
{
if (MysqlConntion.State == ConnectionState.Closed)//判断连接状态
{
MysqlConntion.Open();
}
MySqlCommand mySqlCommand = new MySqlCommand(Select, MysqlConntion);//新建MySqlCommand
//ExecuteScalar();执行查询,并查询所返回的结果中的第一行的第一列,其他行其他列会被忽略
string value = mySqlCommand.ExecuteScalar().ToString();
if (MysqlConntion != null)
{
MysqlConntion.Close();
}
return value;
}