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。

  • 相关阅读:
    (深入理解计算机系统)内存对齐
    (深入理解计算机系统)AT&T汇编指令
    (深入理解计算机系统)编译,链接和装载
    (C)struct结构体指针
    (linux)BSP板级支持包开发理解
    TortoiseSVN使用笔记
    (linux)idr(integer ID management)机制
    (linux)struct inode 和 struct file
    cygwin使用笔记
    Zookeeper学习总结
  • 原文地址:https://www.cnblogs.com/menglin/p/7715706.html
Copyright © 2011-2022 走看看