基於C#編程語言的Mysql常用操作


一、開始需要先將C#中與mysql相關的引用添加進來

using MySql.Data.MySqlClient;

二、創建一個database

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("CREATE DATABASE TEST", m_conn);
cmd.CommandTimeout = 12000;
cmd.ExecuteNonQuery();

三、創建一個table

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("CREATE TABLE PERSON(ID INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,PERSONCODE VARCHAR(255) DEFAULT NULL,PERSONNAME1 VARCHAR(255) DEFAULT NULL)", m_conn);
cmd.CommandTimeout = 12000;
cmd.ExecuteNonQuery();

 

四、連接mysql,創建一個連接對象,接着開其啟對象

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");//創建mysql的連接對象
m_conn.Open();//開啟連接

五、查詢

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
DataTable dt = new DataTable("ds"); 
DataSet ds = new DataSet(); //創建一個數據集來存放查詢的返回結果
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM TEST.PERSON", m_conn); //創建一個數據適配器來查找數據
da.SelectCommand.CommandTimeout = 12000;
da.Fill(ds, "ds"); //將查詢到的數據填充到數據集dataset中,
dt=ds.Tables[0];

六、插入

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd
= new MySqlCommand("INSERT INTO test.person(personcode,personname1) values('123456','測試老王')", m_conn); cmd.CommandTimeout = 12000; int iRecordAffected = cmd.ExecuteNonQuery();//返回插入了幾條數據

七、更新

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("update test.person set personname1='測試王二麻子' where personcode='123456'", m_conn);
cmd.CommandTimeout = 12000;
int iRecordAffected = cmd.ExecuteNonQuery();//返回更新了幾條數據

八、刪除

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("delete from test.person where personname1='測試王二麻子' and personcode='123456'", m_conn);
cmd.CommandTimeout = 12000;
int iRecordAffected = cmd.ExecuteNonQuery();//返回刪除了幾條數據

九、事務查詢

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlTransaction m_trans = m_conn.BeginTransaction();
DataTable dt = new DataTable("ds");
DataSet ds = new DataSet();
if (m_trans != null)
{
  MySqlDataAdapter mda = new MySqlDataAdapter("SELECT personname1 FROM person", m_conn);
  mda.SelectCommand.CommandTimeout = 12000;
  mda.Fill(ds, "ds");
  if (ds.Tables.Count > 0)
  {
      dt = ds.Tables[0];
  }
m_trans.Commit(); //事務結束的標志就是調用事務的提交方法commit()
}

十、事務插入,事務更新,事務刪除除了SQL語句不同其余都一樣

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO person(personcode,personname1) values('123456','測試老王')", m_conn);
MySqlTransaction m_trans = m_conn.BeginTransaction();
cmd.Transaction = m_trans;
cmd.CommandTimeout = 12000;
if (m_trans != null)
{
    int iRecordAffected = cmd.ExecuteNonQuery();
   m_trans.Commit(); //事務結束的標志就是調用事務的提交方法commit() }

十一、事務回滾

MySqlConnection m_conn = new MySqlConnection("server=localhost;user id=root;password=root;persist security info=True;database=test");
m_conn.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO person(personcode,personname1) values('123456','測試老王')", m_conn);
MySqlTransaction m_trans = m_conn.BeginTransaction();
cmd.Transaction = m_trans;
cmd.CommandTimeout = 12000;
if (m_trans != null)
{
    int iRecordAffected = cmd.ExecuteNonQuery();
m_trans.Rollback(); //在事務提交之前調用事務的回滾方法,可以返回到事務開始前的數據庫狀態,相當於此次事務內對數據庫的操作無效。
}

 


免責聲明!

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



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