C# mysql 帶參數語句


帶參數語句通常用於批量操作,例如批量插入。

截取一小段代碼,修改后做一個簡單的示例:

1. 表結構:

CREATE TABLE `數據` (
  `createtime` datetime NOT NULL,
  `dt` datetime NOT NULL,
  `val` float(7,2) DEFAULT NULL,
  PRIMARY KEY (`createtime`,`dt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. 帶參數語句的使用

public static void Save(DateTime createtime, List<DtVal> dvs)
{
    string sql = "INSERT INTO 數據 (createtime, dt, val) VALUES('" + createtime.ToString("yyyy-MM-dd HH:mm:ss") + "', @p1,@p2);";
    using (MySqlConnection conn = new MySqlConnection(connStr))
    {
        conn.Open();
        using (MySqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandText = sql;
            cmd.Prepare();
       
for (int i = 0; i < dvs.Count; i++) { cmd.Parameters.Clear(); MySql.Data.Types.MySqlDateTime time = new MySql.Data.Types.MySqlDateTime(dvs[i].time);//注意:日期特殊處理 cmd.Parameters.AddWithValue("p1", time); cmd.Parameters.AddWithValue("p2", dvs[i].val); cmd.ExecuteNonQuery(); } } } }

實際上,不只是日期,在 MySQL.Data.Types 中的類型,均需要做相應的轉換。在一個就是參數用 @ 開頭。


免責聲明!

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



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