sqlHelper

sqlHepler

Connection,Command,DataReader,DataAdapter,DataSet
1,Connection 对象 —— 连接数据库
首先与数据库进行连接;ConnectionString 数据库连接字符串,用于指定与哪种数据库进行连接。
2.Command 对象 —— 执行SQL语句
连接数据库之后,就可以对数据源进行操作了。 对数据源的操作一般包括查看,插入,更新和删除,ADO.NET使用Command对象进行这些操作。
Command对象执行命令的方法有ExecuteNonQuery(),ExecuteScalar(),ExecuteReader()等。
ExecuteNonQuery()方法用来执行Insert,Update,Delete等非查询语句和其他没有返回结果集的SQL语句,并返回执行命令后影响的行数。
ExecuteScalar()方法用于返回结果集中的首行首列,一般用来执行Count(),Sum()等合计函数的语句。
ExecuteReader()方法用于执行查询操作,它返回一个DataReader对象。
3.DataReader 对象 —— 读取数据
DataReader对象从数据源中获取只读的,单向的数据流。DataReader类没有构造函数,不能直接实例化,需要从Command对象中返回一个DataReader实例。
4.DataAdapter 对象 —— 数据适配器
DataAdapter对象通过Fill()方法把数据源数据填充到本机DataSet或DataTable中,填充完成后与数据库服务器的连接自动断开。
5.DataSet 对象 —— 数据集
DataSet对象是ADO.NET中用来访问数据库的对象。

 

创建链接字符串
public static string sqlConn = ConfigurationManager.ConnectionStrings[connectionString].ConnectionString;

查询方法

--创建DataTable对象,用来存储查询出来的数据
DataTable table = new DataTable();
--创建sqldataadapter对象
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, sqlConn);
if (sqlParameters.Length > 0)
{
dataAdapter.SelectCommand.Parameters.AddRange(sqlParameters);
}

dataAdapter.Fill(table);
return table;

单条数据查询

--创建数据库链接
SqlConnection sqlConnection = new SqlConnection(sqlConn);
--打开数据库链接链接
sqlConnection.Open();
--创建sqlcommand对象
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
if (sqlParameters.Length > 0)
{
sqlCommand.Parameters.AddRange(sqlParameters);
}
--创建sqldatareader对象
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection);
//sqlDataReader.Close();
return sqlDataReader;

--CloseConnection在执行该命令时,如果关闭关联的 DataReader 对象,则关联的 Connection 对象也将关闭。

--如果不显式的调用reder.Close()方法,则该reader 的connection会一直何持open状态。

--因此,在使用完reader后,还是应该加上reader.close();这样系统会自动关闭支持reader活动的connection。

 

对数据的增删改

--定义num用来接收执行成功或失败时返回的受影响的行数
int num = 0;
--创建链接对象
using (SqlConnection sqlConnection = new SqlConnection(sqlConn))
{
--创建sqlcommand对象
using (SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection))
{
try
{
--打开数据库链接
sqlConnection.Open();
if (sqlParameters.Length >0)
{
sqlCommand.Parameters.AddRange(sqlParameters);
}
--执行sql语句,返回受影响的行数
num = sqlCommand.ExecuteNonQuery();
}
finally    finally --里面的内容最终都会执行
{
--判断数据库是否是打开状态
if (sqlConnection.State == ConnectionState.Open)
sqlConnection.Close();
}
return num;

}

}

 

上一篇:SQLHelper通用帮助类


下一篇:连接池问题