wtuqi
3/25/2020 - 2:23 PM

Mysql使用

//大量数据用事务执行拼接语句
 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)