SQLHelper
<!-- 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;//执行数据库语句并返回受影响的行数 }