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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM