//大量数据用事务执行拼接语句
static MySqlConnection mycon = new MySqlConnection("Data Source = 192.168.1.113; User Id = root; Password = ****1**; Database = Record;Connection Timeout=13000;");
static StringBuilder sqlarr=new StringBuilder();
//将txt按行拼接到语句
string str=Application.StartupPath.Substring(0, Application.StartupPath.Length - 23)+ @"OC\bin\Debug\1.txt";
StreamReader Sr = new StreamReader(str, Encoding.UTF8);
string s ="";
while (s != null)
{
s = Sr.ReadLine();
if (!string.IsNullOrEmpty(s))
{
sqlarr.Append($"insert into Records(B) values('{s}');");
//Console.WriteLine(s);
}
}
//以事务方式执行
using (IDbConnection conn = mycon)
{
using (var transation = conn.BeginTransaction())
{
var mycom = conn.CreateCommand();
mycom.CommandText = sqlarr.ToString();
mycom.ExecuteNonQuery();
transation.Commit();
}
}
//执行带out参数的过程
Mycon = new MySqlConnection();
if (Mycon.State == System.Data.ConnectionState.Closed)
{
Mycon.ConnectionString = string.Format("Data Source = 39.105.113.105; User Id = mmsc; Password = crB7dk3aAx4G3Dxe; Database =mmsc;Connection Timeout=13000;");
Mycon.Open();
}
MySqlCommand mycom = new MySqlCommand("Pro_GETNO", Mycon);
mycom.CommandType = CommandType.StoredProcedure;
mycom.Parameters.Add(new MySqlParameter("@SelNo", MySqlDbType.Int32));
mycom.Parameters["@SelNo"].Direction = ParameterDirection.Output;
mycom.ExecuteNonQuery();
Console.WriteLine(mycom.Parameters["@SelNo"].Value.ToString());
Console.ReadKey();
//过程
//CREATE TABLE CrNo
//(id BIGINT auto_increment,
//Nos BIGINT UNIQUE,
//dt timestamp DEFAULT CURRENT_TIMESTAMP,
//PRIMARY KEY (id));
//insert into CrNo(Nos) VALUES('1000000000');
//DELIMITER //
//create PROCEDURE Pro_GETNO(out SelNo BIGINT)
//BEGIN
//SELECT max(Nos)+1 into SelNo from CrNo;
//INSERT into CrNo(Nos) values(SelNo);
//select SelNo;
//end;
////
//DELIMITER ;
//CALL Pro_GETNO(@s);
//select @s;
//拖拽敏捷开发
1.目前在Vs2010中测试只需安装mysql-connector-net-6.9.9.msi即可(目前VS2010+mysql5.1.42稳定版+6.9.9绝配)
另外一法在VS2013中(重要!!必须!一定!)
先安装MySQL for visual studio(版本8.0.18)
后安装MySQL Connector Net(版本1.2.8)