.Net ADO拼接带参数的SQL语句
首先是在DAL数据访问层中的代码:
//数据更新的方法
public static int shuxing_update(s_passnature model)
{
string sql = "update s_passnature set pass_name=@pass_name,pass_content=@pass_content,pass_shuxing=@pass_shuxing,pass_shiledaddress=@pass_shiledaddress,pass_cost=@pass_cost,pass_company=@pass_company,is_start=@is_start,remark=@remark,operatorType=@operatorType where pass_id=@pass_id";
//sqlparameter对象添加
SqlParameter[] parameter = {
new SqlParameter("@pass_name",SqlDbType.VarChar,200),
new SqlParameter("@pass_content",SqlDbType.VarChar,5000),
new SqlParameter("@pass_shuxing",SqlDbType.VarChar,5000),
new SqlParameter("@pass_shiledaddress",SqlDbType.VarChar,5000),
new SqlParameter("@pass_cost",SqlDbType.Decimal),
new SqlParameter("@pass_company",SqlDbType.VarChar,100),
new SqlParameter("@is_start",SqlDbType.Int,4),
new SqlParameter("@remark",SqlDbType.VarChar,5000),
new SqlParameter("@operatorType",SqlDbType.VarChar,50),
new SqlParameter("@pass_id",SqlDbType.Int,4)
};
//对象赋值
parameter[0].Value = model.pass_name;
parameter[1].Value = model.pass_content;
parameter[2].Value = model.pass_shuxing;
parameter[3].Value = model.shiledaddress;
parameter[4].Value = model.pass_cost;
parameter[5].Value = model.pass_company;
parameter[6].Value = model.is_start;
parameter[7].Value = model.remark;
parameter[8].Value = model.operatorType;
parameter[9].Value = model.pass_id;
return Common.DbHelperSQL.ExecuteSql(sql, parameter);
}
dbhelper中的方法:
public static int ExecuteSql(string SQLString, params SqlParameter[] cmdParms)
{
using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
{
using (SqlCommand cmd = new SqlCommand())
{
try
{
DbHelperSQL. PrepareCommand(cmd,connection,(SqlTransaction)null,SQLString,cmdParms);
int num = cmd.ExecuteNonQuery();
//每次执行完以后必须的释放清理资源,否则或导致程序堵塞
cmd.Parameters.Clear();
return num;
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
cmd.Dispose();
conn.Close();
}
}
}
}
//数据验证带参数的语句都需要调用此方法进行验证
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = CommandType.Text;//cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parameter in cmdParms)
{
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
cmd.Parameters.Add(parameter);
}
}
}
相关文章
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十一)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之二(五十)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十二(四十八)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十一(四十七)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之八(四十四)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之七(四十三)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之六(四十二)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之五(四十一)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之四(四十)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之二(三十八)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之一(三十七)
- 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之十(三十六)
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之九(三十五)
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之八(三十四)