zoukankan      html  css  js  c++  java
  • 提高系统性能和安全性

    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);
    欢迎提出意见或建议!!!
  • 相关阅读:
    Visual Studio Code插件安装步骤
    JS省城级联
    JS省城级联
    JS省城级联
    JS省城级联
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    [js插件开发教程]实现一个比较完整的开源级选项卡插件
    VS2017桌面应用程序打包成.msi或者.exe
  • 原文地址:https://www.cnblogs.com/gaofei-1/p/6260356.html
Copyright © 2011-2022 走看看