zoukankan      html  css  js  c++  java
  • .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);
    }
    }
    }

  • 相关阅读:
    记Java程序Log4J漏洞的解决过程
    IIS中应用程序池自动停止,重启报错
    如何查看域名所对应的证书有效期?
    查看前端Vue版本命令
    WCF中常见的报错:The content type text
    dotnet 将自动代码格式化机器人带入团队 GitLab 平台
    WPF 引用第三方库的控件在设计器加上设计时数据和属性
    dotnet OpenXML 聊聊文本段落对齐方式
    WPF 布局 在有限空间内让两个元素尽可能撑开的例子
    dotnet 通过 DockerfileContext 解决项目放在里层文件夹导致 VisualStudio 构建失败
  • 原文地址:https://www.cnblogs.com/Can-daydayup/p/8466849.html
Copyright © 2011-2022 走看看