zoukankan      html  css  js  c++  java
  • mysql 使用DataReader 读数据

    //注意参数的用法
    string SqlText = @"
    select * from [tableName] where condition1=?condition1 and condition2=?condition2   
    ";

    using (MySqlConnection conn = new MySqlConnection( "连接字符串"))

    {
    conn.Open();

    MySqlCommand command = new MySqlCommand(SqlText, conn);
    command.CommandTimeout = 500; // 此处设置command的超时时间

    command.Parameters.Add(new MySqlParameter("?condition1",value1)); //注意参数的替换方式
    command.Parameters.Add(new MySqlParameter("?condition2",value2));

    MySqlDataReader retReader = command.ExecuteReader(); //用DataReader读数据

    while (retReader.Read()) //开始读数据
    {

    //对数据进行处理
    retReader["columeName"].ToString() ;

    }

    }

    SqlConnection.ConnectionTimeout : 
    1. 说明: 获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
    2. 默认值:等待连接打开的时间(以秒为单位)。默认值为 15 秒。
    3. 备注:值 0 指示无限制
    4. 只读

    SqlCommand.CommandTimeout 
    1. 说明:获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
    2. 默认值:等待命令执行的时间(以秒为单位)。默认为 30 秒。//注意,当我们处理大数据量的数据时,要设置CommandTimeout
    3. 备注:值 0 指示无限制,在 CommandTimeout 中应避免值 0,否则会无限期地等待执行命令。
    4. 可读可写

    特别注意:
    "超时时间已到。在操作完成之前超时时间已过或服务器未响应"
    类似这种错误,一般是 SqlCommand.CommandTimeout  或者 SqlBulkCopy.BulkCopyTimeout 的时间超时, 而不是 SqlConnection.ConnectionTimeout。

  • 相关阅读:
    乐观锁和悲观锁
    [转载] Java实现生产者消费者问题
    [转载] 最全最强解析:支付宝系统架构内部剖析(架构图)
    [转载] Linux五种IO模型
    [转载] Hibernate与 MyBatis的比较
    Spring的69个知识点
    Spring MVC工作原理
    你不知道的JS系列 ( 12 ) - 声明提升
    你不知道的JS系列 ( 11 ) - 块作用域
    你不知道的JS系列 ( 10 ) - 立即执行函数表达式
  • 原文地址:https://www.cnblogs.com/menglin/p/7715706.html
Copyright © 2011-2022 走看看