//注意參數的用法
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));string
MySqlDataReader retReader = command.ExecuteReader(); //用DataReader讀數據it
while (retReader.Read()) //開始讀數據
{io
//對數據進行處理
retReader["columeName"].ToString() ;table
}select
}command
SqlConnection.ConnectionTimeout :
1. 說明: 獲取在嘗試創建鏈接時終止嘗試並生成錯誤以前所等待的時間。
2. 默認值:等待鏈接打開的時間(以秒爲單位)。默認值爲 15 秒。
3. 備註:值 0 指示無限制
4. 只讀im
SqlCommand.CommandTimeout
1. 說明:獲取或設置在終止執行命令的嘗試並生成錯誤以前的等待時間。
2. 默認值:等待命令執行的時間(以秒爲單位)。默認爲 30 秒。//注意,當咱們處理大數據量的數據時,要設置CommandTimeout
3. 備註:值 0 指示無限制,在 CommandTimeout 中應避免值 0,不然會無限期地等待執行命令。
4. 可讀可寫
特別注意:"超時時間已到。在操做完成以前超時時間已過或服務器未響應"相似這種錯誤,通常是 SqlCommand.CommandTimeout 或者 SqlBulkCopy.BulkCopyTimeout 的時間超時, 而不是 SqlConnection.ConnectionTimeout。