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);
    欢迎提出意见或建议!!!
  • 相关阅读:
    还在纠结注册.com域名还是.cn域名?
    网站域名被墙的检测查询和解决办法
    阿里云服务器无法远程其他的mysql服务器
    如何维护一个产品
    使用bootstrap+asp.net mvc4+IBatis.Net实现的小程序
    bootstrap IE兼容
    mongodb命令使用
    聊天工具实现winform端实现
    二级域名设置
    org
  • 原文地址:https://www.cnblogs.com/gaofei-1/p/6260356.html
Copyright © 2011-2022 走看看