SQLHELPER.CS,其中的方法有ExecuteNonQuery(xxx),ExectueScalar(xxx),ExectueReader,executeDataTble
2012-11-27 19:46
435 查看
public static String connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public static int ExecuteNoQuery(string sql,params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteScalar();
}
}
}
//以下EexcuteReader不能用。
//SqlDataReader是和链接相关的,SqlDataReader中的查询结果并不是放在内存中的,而是放在数据库服务器中,我们用的SqlDataReader只是相当于一个指针(游标),
//只能读取当前游标指向的行,一旦链接断开就不能再读取。
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteReader();
}
}
}
//"数据集",把查询的结果放到本地内存中。这样与数据库的链接断开,也不会影响我们读查询结果的数据。
//DataSet dataset=new DataSet();1 在本地机中开辟数据集---dataset
//2 把查询结果放到中介adapter中。
//SqlDataAdapter adapter=new SqlDataAdapter(cmd);
//把adapter中的查询结果放到数据集dataset中
//adapter.Fill(dataset)
//一个DataSet中包含若干个DataTable,每个datatable中又包含多个DataRow["FuserName"]
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using(SqlConnection conn=new SqlConnection(connStr))
{
conn.Open();
using(SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
return dataset.Tables[0];
}
}
}
public static int ExecuteNoQuery(string sql,params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteScalar();
}
}
}
//以下EexcuteReader不能用。
//SqlDataReader是和链接相关的,SqlDataReader中的查询结果并不是放在内存中的,而是放在数据库服务器中,我们用的SqlDataReader只是相当于一个指针(游标),
//只能读取当前游标指向的行,一旦链接断开就不能再读取。
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteReader();
}
}
}
//"数据集",把查询的结果放到本地内存中。这样与数据库的链接断开,也不会影响我们读查询结果的数据。
//DataSet dataset=new DataSet();1 在本地机中开辟数据集---dataset
//2 把查询结果放到中介adapter中。
//SqlDataAdapter adapter=new SqlDataAdapter(cmd);
//把adapter中的查询结果放到数据集dataset中
//adapter.Fill(dataset)
//一个DataSet中包含若干个DataTable,每个datatable中又包含多个DataRow["FuserName"]
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using(SqlConnection conn=new SqlConnection(connStr))
{
conn.Open();
using(SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
return dataset.Tables[0];
}
}
}
相关文章推荐
- 自己写SQLHELPER.CS,其中的方法有ExecuteNonQuery(xxx),ExectueScalar(xxx),ExectueReader,executeDataTble
- 问:SqlHelper.ExecuteReader方法返回的sqlDataReader的connection是如何关闭的?
- 关于SqlHelper.ExecuteScalar().ToString()报错的解决方法
- org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table 'XXX' doesn't exist
- C#、WinForm、ASP.NET - SQLHelper.cs
- SQLHELPER.CS
- SqlHelper.cs
- C#,ADO封装,SqlHelper.cs
- SQL Server数据库连接类SQLHelper.cs
- JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别 Statement 接口提供了三种执行 SQL 语句的方法:
- SQLHelper.cs
- 使用PreparedStatement的execute方法执行sql插入语句,执行成功,但是返回结果却为false
- 利用sqlhelper.cs 的反回参数
- 借用.net framework的string.Fromat(...),实现一个执行参数化SQL的方法
- sqlhelper.cs的应用
- SQLHelper.cs
- Sqlhelper.ExecuteReader关闭connection的方式
- SqlHelper.cs
- sqlhelper .cs
- BLT-HC05 BLE蓝牙模块设置AT模式和比特率方法