舉了四個連接數據庫的簡單例子,(其中有註釋與解析)
1、接下來是第一個往數據庫裏添加數據:
static void Main(string[] args)
{#region 數據庫添加數據 //用戶鍵入數據,傳給變量
/* Console.Write("請輸入用戶名:");
string user = Console.ReadLine();
Console.Write("請輸入密碼:");
string password = Console.ReadLine();
Console.Write("請輸入真實姓名:");
string real = Console.ReadLine();
Console.Write("請輸入手機號:");
string mobile = Console.ReadLine();
Console.Write("請輸入地址:");
string address = Console.ReadLine();
Console.Write("請輸入Card:");
string card = Console.ReadLine();
string sqlconn = "Data Source=WANGJIAN-PC;Initial Catalog=BookDB1;User ID=sa;Password=abcdef"; //這裏纔是真正的連接服務器。
SqlConnection conn = new SqlConnection(sqlconn);
conn.Open(); //創建對象打開服務器
SqlCommand com = conn.CreateCommand();
com.CommandText = "insert into T_USer values(@username,@password,@realname,@mobile,@address,@card)"; //編輯需要對數據庫操作的命令
com.Parameters.AddWithValue("@username", user); //變量裏的數據傳給佔位符
com.Parameters.AddWithValue("@password", password);
com.Parameters.AddWithValue("@realname", real);
com.Parameters.AddWithValue("@mobile", mobile);
com.Parameters.AddWithValue("@address", address);
com.Parameters.AddWithValue("@card", card);
com.ExecuteNonQuery(); //開始執行命令
com.Dispose();
conn.Close(); //執行操作後關閉服務器如果不關閉連接,這個操作標識就會永遠存在,消耗服務器資源。特別是有海量數據存取的時候,對服務器性能的影響相當巨大。及時關閉數據庫操作鏈接是數據優化提高網站系統性能重要方面。
conn.Dispose();
Console.WriteLine("添加成功!!");
Console.Read();*/
#endregion
2、刪除數據中的數據
#region 刪除數據庫中的數據/* Console.Write("請輸入需要刪除的Id:");
int id;
int.TryParse(Console.ReadLine(),out id);
string sqlconn = "Data Source=WANGJIAN-PC;Initial Catalog=BookDB1;User ID=sa;Password=abcdef";
SqlConnection conn = new SqlConnection(sqlconn);
conn.Open();
SqlCommand com = conn.CreateCommand();
com.CommandText = "delete from T_User where Id=@id";
com.Parameters.AddWithValue("@id", id);
com.ExecuteNonQuery();
Console.WriteLine("刪除成功!");
com.Dispose();
conn.Close();
conn.Dispose();
Console.Read();*/
#endregion
3、查詢數據庫中的數據,這裏用了兩個做法,不過原理都一樣,一個用了雙重循環,但是給不了一個別名,一個直接寫的下標
#region 查詢數據庫/* string sqlconn = "Data Source=WANGJIAN-PC;Initial Catalog=BookDB1;User ID=sa;Password=abcdef";
SqlConnection conn = new SqlConnection(sqlconn);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from T_USer";
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++) //!!注意在寫查詢語句的時候不要字段拼接,否則會出現注入漏洞
{
Console.WriteLine("ID:{0}用戶姓名:{1}密碼:{2}真實姓名:{3}手機:{4}地址:{5}Card{6}",dt.Rows[i][0],dt.Rows[i][1], dt.Rows[i][2], dt.Rows[i][3], dt.Rows[i][4], dt.Rows[i][5], dt.Rows[i][6]);
// for (int j = 0; j < dt.Columns.Count; j++) //這是雙重循環的,但已經被註釋掉了
//{
// string id = dt.Rows[i][j].ToString();
// string id1 = dt.Rows[i][j].ToString();
// string id2 = dt.Rows[i][j].ToString();
// string id3 = dt.Rows[i][j].ToString();
// string id4 = dt.Rows[i][j].ToString();
// string id5 = dt.Rows[i][j].ToString();
// string id6 = dt.Rows[i][j].ToString();
// Console.WriteLine(id, id1, id2,id3,id4,id5,id6);
//}
}*/
#endregion
4、控制檯修改數據庫中的數據
#region 修改數據庫中的數據/* Console.Write("請輸入修改用戶名的Id:");
int id;
int.TryParse( Console.ReadLine(),out id);
Console.Write("請輸入你修改的用戶名:"); //同樣也是鍵入數據,
string name=Console.ReadLine().ToString();
string sqlconn = "Data Source=WANGJIAN-PC;Initial Catalog=BookDB1;User ID=sa;Password=abcdef";
SqlConnection conn = new SqlConnection(sqlconn);
conn.Open();
SqlCommand com = conn.CreateCommand();
com.CommandText = ("update T_User set UerName=@username where Id=@id"); //操作命令增加限制條件,限制需要修改的字段。
com.Parameters.AddWithValue("@id", id);
com.Parameters.AddWithValue("@username", name);
com.ExecuteNonQuery();
Console.WriteLine("修改成功!");
com.Dispose();
conn.Close();
conn.Dispose();*/
Console.Read();
#endregion
}
小結:總之連接數據庫格式爲:
Const SqlDatabaseName = "數據庫名"
Const SqlPassword = "用戶密碼"
Const SqlUsername = "用戶名"
Const SqlLocalName = "(local)"
dim conn
set conn=server.createobject("ADODB.connection")
conn.open "Provider=Sqloledb;User ID="&SqlUsername&";Password="&SqlPassword&";Initial Catalog="&SqlDatabaseName& ";Data Source="&SqlLocalName&";"(如有錯誤,歡迎修改)