1. 程式人生 > >C#對MySql進行增刪該查

C#對MySql進行增刪該查

前言

  • 以前在學習java的時候,用的一些其它的操作工具包括一些框架
  • 今天使用了C#,做一下總結,當然只是很初級的,後續會補充。
  • 比如鎖操作或者事務這些

進行連線

  • 先建立一個連線字串,標明資料庫,ip地址,埠號,然後建立連線並且開啟連線
  • 首先需要引入一個程式集
  • 他在你安裝的mysql安裝目錄下面,MySQL.Data.dll
  • using MySql.Data.MySqlClient;
 string connStr = "Database = junglebattle;Data Source = 127.0.0.1;port=3306;user = root; Password = 798969409";
            MySqlConnection conn = new MySqlConnection(connStr);
            conn.Open();

防止sql注入

  • 用字串拼接的方式很容易發生sql注入問題,比如說這樣
  • 注意我在拼接字串時使用的單引號
  • 這樣就會導致使用者把我們的資料庫刪除
string username = "huixing";
            string password = "oibk';delete  from user; ";
          
             MySqlCommand cmd1 = new MySqlCommand("insert into user set username =  ‘ “+username+" ' "+" , password= ' "+password+" ’ ", conn);
            cmd1.Parameters.AddWithValue("jk", username);
            cmd1.Parameters.AddWithValue("pwd", password);

            cmd1.ExecuteNonQuery();
  • 為了解決這種,應該採用下面這種方式
  • jk與pwd是我們自己定義的符號
string username = "huixing";
            string password = "oibk';delete  from user; ";
            MySqlCommand cmd1 = new MySqlCommand("insert into user set username [email protected], password = @pwd", conn);
            cmd1.Parameters.AddWithValue("jk", username);
            cmd1.Parameters.AddWithValue("pwd", password);

            cmd1.ExecuteNonQuery();

刪除

  MySqlCommand cmd2 = new MySqlCommand("delete from user where id = @id", conn);
            cmd2.Parameters.AddWithValue("id", 10);
            cmd2.ExecuteNonQuery();

更改

 MySqlCommand cmd3 = new MySqlCommand("update  user set password = @pwd where id = 13", conn);
            cmd3.Parameters.AddWithValue("pwd", "shabi");
            cmd3.ExecuteNonQuery();

查詢

  • 在我們獲得一個流reader物件後,如果有下一行 reader.reader()就返回true否則就返回false
       MySqlCommand cmd = new MySqlCommand("Select* from user", conn);
            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                string username1 = reader.GetString("username");
                string pass = reader.GetString("password");
                Console.WriteLine(username1 + ";" + pass);
            }

            reader.Close();

關閉

  • 在資料庫操作完畢後,要關閉連線,關閉流
  • reader.close(); conn.close();