C#對MySql進行增刪該查
阿新 • • 發佈:2019-01-11
前言
- 以前在學習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();