1.ExecuteNonQuery:執行非查詢的T-SQL語句
using (SqlCommand cmd = conn.CreateCommand()) { //設置T-SQL語句 cmd.CommandText = "insert into userInfo(id,userName,userAge,DelFlag)values(11,'趙非',18,0)"; //執行T-SQL語句,並返回受影響的行數 int num = cmd.ExecuteNonQuery(); Console.WriteLine(num); }
2.ExecuteScalar:執行查詢,並返回查詢所返回的結果集中第一行的第一列
using (SqlCommand cmd = conn.CreateCommand()) { //查詢Employee表中性別為男的所有信息 cmd.CommandText = "select * from Employee where gender='男' "; //執行查詢,並返回這些信息中的第一行的第一列的數據 label1.Text = cmd.ExecuteScalar().ToString(); }
3.ExecuteReader:執行T-SQL語句,並返回一個SqlDataReader讀取器
using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select * from employee"; //執行T-SQL語句,並生成一個SqlDataReader讀取器 SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { //reader[1]:讀取表中第2列的數據 listView1.Items.Add(reader[1].ToString()); } reader.Close(); }
4.數據導入
//提示用戶打開文件 using (OpenFileDialog opfd = new OpenFileDialog()) { if (opfd.ShowDialog() == DialogResult.OK) { this.textBox1.Text = opfd.FileName; //調用數據導入的方法 ImportData(opfd.FileName); MessageBox.Show("數據導入成功"); } }
//數據導入的方法 private void ImportData(string fileName) { //定義一個空字符串 string tempStr = string.Empty; //用指定字符編碼,為指定文件名初始化StreamReader類的一個新實例 using (StreamReader sr = new StreamReader(fileName, Encoding.UTF8)) { string connStr = "server= .;uid = sa;pwd = 123;database = testDb"; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { //sr.ReadLine():從當前流中讀取下一行字符,並將數據作為字符串返回 while (!string.IsNullOrEmpty(tempStr = sr.ReadLine())) { string[] strs = tempStr.Split(','); //注意:字符串數據要加單引號 cmd.CommandText = string.Format("insert into testTable3(id,name,num)values({0},'{1}',{2})", strs[0], strs[1], strs[2]); cmd.ExecuteNonQuery(); } } } } }
5.數據導出
//聲明一個空字符串,用來存儲文件路徑 string filePath = string.Empty; //提示用戶選擇文件的保存位置 using (SaveFileDialog ofd = new SaveFileDialog()) { if (ofd.ShowDialog() != DialogResult.OK) { return; } //選定的文件名的字符串 filePath = ofd.FileName; } using (conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select * from TblArea"; SqlDataReader sdr = cmd.ExecuteReader(); //寫入流 using (StreamWriter sw = new StreamWriter(filePath)) { while (sdr.Read()) { string tempStr = sdr["AreaId"].ToString() + "\t" + sdr["AreaName"] + "\t" + sdr["AreaPId"] + "\r\n"; //將字符寫入sw流中 sw.Write(tempStr); } MessageBox.Show("導出成功!"); } } }