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);//注意:⽇期特殊处理
简单的mysql语句cmd.Parameters.AddWithValue("p1", time);
cmd.Parameters.AddWithValue("p2", dvs[i].val);
cmd.ExecuteNonQuery();
}
}
}
}
实际上,不只是⽇期,在 MySQL.Data.Types 中的类型,均需要做相应的转换。在⼀个就是参数⽤@开头。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。