(記錄下方便自己複習) 概念 簡單地理解為用來連接資料庫的類。 工作流程 ①Connection對象用來連接資料庫。 兩種連接方式:Windows身份驗證 / sqlserver驗證 ②command對象用來操作資料庫。(三個重要的方法:ExecuteNonQuery(),ExecuteReader ...
(記錄下方便自己複習)
概念
簡單地理解為用來連接資料庫的類。
工作流程
①Connection對象用來連接資料庫。
兩種連接方式:Windows身份驗證 / sqlserver驗證
private void button1_Click(object sender, EventArgs e) { try { //string Str = "server=.;Initial catalog="db_PWMS";integrated security=SSPI";//windows身份驗證 string Str = "server=.;database="db_PWMS";uid=sa;pwd=***";//Sqlserver驗證 //聲明Str存儲連接資料庫的字元串。 //server=.。 伺服器名稱=等於本地 。 //Initial catalog="db_PWMS" 資料庫名=db_PWMS。 SqlConnection conn= new SqlConnection(Str);//聲明對象 conn.Open();//連接上 if (conn.State==ConnectionState.Open)//State屬性判斷打開與否 { richTextBox1.Text = "已經打開"; } } catch { MessageBox.Show("連接失敗"); } }
②command對象用來操作資料庫。(三個重要的方法:ExecuteNonQuery(),ExecuteReader(),ExecuteScalar())
⑴以update(改數據)為例,用到ExecuteNonQuery()方法
private void button2_Click(object sender, EventArgs e) { SqlConnection conn =new SqlConnection("server=.;Initial catalog=db_PWMS;integrated security=SSPI"); conn.Open();//老規矩,先連接 try { SqlCommand cmd = new SqlCommand();//實例操作項cmd cmd.Connection = conn;//操作conn這個資料庫 cmd.CommandText = "update Table_1 set Prices =3333 where Origin ='國產'";//操作這樣一句SQL語句 cmd.CommandType = CommandType.Text;//書上這麼寫的,不知道幹嘛的,以後知道了再說。去掉這句話也沒事。 cmd.ExecuteNonQuery();//command對象重要的三個方法之一,執行增刪改查 int i = Convert.ToInt32(cmd.ExecuteNonQuery()); label2.Text = i + "條數據發生改動"; } catch (Exception ex){ MessageBox.Show(ex.Message); } }
點擊事件(button2)
執行前資料庫
執行後
⑵以各種姿勢查數據ExecuteScalar()
此方法的聚合函數
說明 | |
AVG() | 平均值 |
count() | 有幾條數據 |
max() | 最大值 |
min() | 最小值 |
sum() | 和 |
以count()和max()為例
private void button3_Click(object sender, EventArgs e) {string s1 = "select count (2) from Table_1";//表數量count()
conn = new SqlConnection("server=.;Initial catalog=db_PWMS;integrated security=SSPI");
conn.Open(); try {
string s2 = "select max (Prices) from Table_1";//Prices最大值max() SqlCommand cmd = new SqlCommand(s1,conn);
SqlCommand cmd1 = new SqlCommand(s2,conn);
int i = Convert.ToInt32(cmd.ExecuteScalar());//對象轉int類型 int j = Convert.ToInt32(cmd1.ExecuteScalar()); label2.Text = i+"條數據"; label1.Text = "最貴的" + j; } catch (Exception ex){ MessageBox.Show(ex.Message); } }