• 提高系统性能和安全性


    using

        定义:using可以用于导入命名空间,也可以释放对象占用的内存资源。

        语法:

    using(SqlConnection conn = new SqlConnection(connString))
    {
            //数据库操作代码
    }

        using语句允许用户定义一个范围,并且总是在范围末尾处释放对象。

        即使using范围内出现异常也会释放对象。

        注意事项:

            1.using可以主动释放的对象都需要事项IDisable接口。

            2.并不是所有的代码需要使用using,只需要对那些对系统性能有重要影响的对象使用using即可。

    参数化命令

        参数化命令可以有效的防止sql注入。

        语法:

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("indert....");
    sb.AppendLine("values");
    sb.AppendLine("@参数1,...");
    SqlParameter[] para = {
        new SqlParameter("参数1",值),
        ...
    }
    SqlCommand cmd = new SqlCommand(sb.ToString(), conn);
    
    cmd.Parmeters.AddRange(para);
    ...

    用ADO.NET调用存储过程

        只需要设置一下command对象的命令类型即可。

        语法:

    SqlCommand cmd = new SqlCommand("存储过程名称", conn);
    
    //设置命令类型
    cmd.CommandType = CommandType.StoredProcedure;
    
    //添加输入参数
    SqlParameter[] para = {
        new SqlParameter("参数1",值),
        ...
    }
    cmd.Parmeters.AddRange(para);
    ...

        使用输出参数的语法:

    SqlCommand cmd = new SqlCommand("存储过程名称", conn);
    
    //设置命令类型
    cmd.CommandType = CommandType.StoredProcedure;
    
    //添加输入参数
    SqlParameter[] para = {
        new SqlParameter("参数1",值),
        ...
    }
    
    //设置最后一个参数为输出参数
    para[para.Length - 1].Direction = ParameterDirection.Output;
    cmd.Parmeters.AddRange(para);
    ...
    
    //使用输出参数
    string ret = Convert.ToString(para[para.Length - 1].Value);
    欢迎提出意见或建议!!!
  • 相关阅读:
    python os.stat() 和 stat模块详解
    Python中datetime库的用法
    js中Array的map()函数,其中的回调函数还能这么用
    通常用于返回值的三目运算符
    浏览器渲染页面的时候,不同的script块之间的关系
    模板字面量
    let和const
    js 数组 map方法
    一些常用的js循环,如for
    session
  • 原文地址:https://www.cnblogs.com/gaofei-1/p/6260356.html
Copyright © 2020-2023  润新知