環境:VS2010 + SqlServer 2008
首先,按照面向對象的程序設計思想,設計一個數據庫操作工具類MyTool.cs,該類中封裝了關於數據庫連接和操作的方法,各個功能模塊在需進行數據庫操作時只需調用相應的函數
//引入的命名空間 using System.Data.SqlClient;//用於SQL Sever數據訪問的命名空間 using System.Data; //DataSet類的命名空間 using System.Windows.Forms; //DataGridView控件類的命名空間 //執行指定的SQL命令語句(insert,delete,update等),並返回命令所影響的行數 public static int executeCommand(string sqlStr) { SqlConnection sqlConnection1 = new SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創建數據庫連接(字符串中是我個人的數據庫信息) sqlConnection1.Open(); //打開數據庫連接 SqlCommand sqlCommand1 = new SqlCommand(sqlStr, sqlConnection1); //執行SQL命令 int Succnum = sqlCommand1.ExecuteNonQuery(); return Succnum; } //查詢(select)指定的數據記錄(多行多列),並填充到數據控件DataGridView中 public static void queryDataToGrid(string sqlStr, DataGridView dataGridView1) { SqlConnection sqlConnection1 = new SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創建數據庫連接 SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sqlStr, sqlConnection1);//利用已創建好的sqlConnection1,創建數據適配器sqlDataAdapter1 DataSet dataSet1 = new DataSet(); //創建數據集對象 sqlDataAdapter1.Fill(dataSet1); //執行查詢,查詢的結果存放在數據集裡 dataGridView1.DataSource = dataSet1.Tables[0]; //把數據集中的查詢結果綁定到dataGridView1中 } //查詢(select)指定的數據(單個數據,假設為string類型),並返回 public static string queryData(string sqlStr) { SqlConnection sqlConnection1 = new SqlConnection("server=dell-PC;database=11071312HotelSys;uid=sa;pwd=xiaoyi9421");//創建數據庫連接 SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sqlStr, sqlConnection1);//利用已創建好的sqlConnection1,創建數據適配器sqlDataAdapter1 DataSet dataSet1 = new DataSet(); //創建數據集對象 sqlDataAdapter1.Fill(dataSet1); //執行查詢,查詢的結果存放在數據集裡 return dataSet1.Tables[0].Rows[0]["列名"].ToString(); //把查詢結果的第一行指定列下的數據以string類型返回 }
當在各個功能模塊中需要進行數據庫操作時,只需指定要執行的SQL語句,調用一下數據庫工具類中的方法即可實現,下面給了一些基本的的SQL操作(單表)
//增 sqlStr = "insert into 表名( 列名1 , 列名2 )values( 插入值1 , 插入值2 )"; //執行指定的SQL命令語句,並返回命令所影響的行數 int Succnum = MyTool.executeCommand(sqlStr); if (Succnum > 0) MessageBox.Show("錄入成功"); //刪 sqlStr = "delete from 表名 where 刪除條件"; int Succnum = MyTool.executeCommand(sqlStr); if (Succnum > 0) MessageBox.Show("刪除成功"); //改 sqlStr = "update 表名 set 列名1 = 更新值1 , 列名2 = 更新值2"; int Succnum = MyTool.executeCommand(sqlStr); if (Succnum > 0) MessageBox.Show("更新成功"); //查一組數據 sqlStr = "select 列名1 , 列名2 from 表名 where 查詢表達式"; MyTool.queryDataToGrid(sqlStr, dataGridView1);//填充到數據控件DataGridView中 //查單個數據 sqlStr = "select 列名 from 表名 where 查詢表達式"; textBox1.Text = MyTool.queryData(sqlStr);//填充到文本框textBox1中