<!-- webconfig中配置 -->
<connectionStrings>
<add name="Connection" connectionString="server=(LocalDB)\Software;database=D:\XMEN\TTAXSOFTWARE.MDF;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
string connStr=ConfigurationManager.ConnectionStrings["Connection"].ToString();
//执行查询语句并返回一个表
public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters)
//因为不确定SQL语句的参数有几个,所以使用了长度可变参数,但必须放到后面
{
using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
{
conn.Open();//打开数据库连接
using (SqlCommand cmd = conn.CreateCommand())//创建执行对象
{
cmd.CommandText = sql;//给cmd赋值SQL语句
cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd
DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果
SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象
adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中
return dataset.Tables[0];//返回一个查询结果的一个表
}
}
}
//执行参数化SQL语句,返回受影响的行数
public int ExecuteNonQuery(string sql,params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
{
conn.Open();//打开数据库连接
using(SqlCommand cmd= conn.CreateCommand())//创建执行对象
{
cmd.CommandText= sql;//给cmd赋值SQL语句
cmd.Parameters.AddRange(parameters);//添加SQL语句中的参数5
return cmd.ExecuteNonQuery();//执行数据库语句并返回受影响的行数
}
}
}
//存储过程,返回一个表
public DataTable ExecuteDataTablePro(string ProcedureName, params SqlParameter[] pars)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
DataTable dataTable = new DataTable();
try
{
cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作
cmd.CommandText = ProcedureName;//存储过程名称
if (pars != null)
{
//遍历参数,添加到SqlCommand 对象子执行
foreach (SqlParameter parm in pars)
cmd.Parameters.Add(parm);//
}
DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果
SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象
adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中
dataTable = dataset.Tables[0];
}
catch (Exception e)
{
string ExecuteResult = e.Message;
Console.Write(ExecuteResult);
return null;
}
finally
{
conn.Close();
cmd.Parameters.Clear();
}
return dataTable;
}
}
}
//返回行数
public int ExecuteNonQueryPro(string ProcedureName, params SqlParameter[] pars)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
int num = 0;
try
{
cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作
cmd.CommandText = ProcedureName;//存储过程名称
if (pars != null)
{
//遍历参数,添加到SqlCommand 对象子执行
foreach (SqlParameter parm in pars)
cmd.Parameters.Add(parm);//
}
num = cmd.ExecuteNonQuery();
}
catch (Exception e)
{
string ExecuteResult = e.Message;
Console.Write(ExecuteResult);
return 0;
}
finally
{
conn.Close();
}
return num;//执行数据库语句并返回受影响的行数
}