基於C#開發數據庫應用程序的基本應用


基於C#開發數據庫應用程序

 

一、思路

  1.窗體上使用DataGridView控件來實現對數據庫表格內容的顯示

  2.綁定數據源到DataGridView控件(應用程序連接到數據庫

  3.在應用程序上實現對數據庫文件的增、刪、改、查

二、界面

  

 

 

 

 

 

 

 

 三、實現過程

 1.綁定數據源到DataGridView控件(應用程序連接到數據庫)

 方法引用:

1 private void Form1_Load(object sender, EventArgs e)
2         {
3             //Binding Mode Get DataSource to DataGridView
4             dataGridView1.DataSource = BindingMode_BindingSource("Hyson_Staff", "Table_Staff_Info").Tables[0];
5 
6             //dataGridView1.DataSource = NonBindingMode_BindingSource();
7         }

  方法實現:

 1         /// <summary>
 2         /// 綁定模式下獲取數據源
 3         /// </summary>
 4         /// <param name="DB_Name">數據庫名稱</param>
 5         /// <param name="Table_Name">表格名稱</param>
 6         /// <returns>返回類型為DataSet</returns>
 7         private DataSet BindingMode_BindingSource(string DB_Name, string Table_Name)
 8         {
 9             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
10             SqlConnection mycon = new SqlConnection(constr);
11             DataSet myds = new DataSet();
12             try
13             {
14                 mycon.Open();
15                 string sql = "select * from " + Table_Name;
16                 SqlDataAdapter myda = new SqlDataAdapter(sql, mycon);
17                 myda.Fill(myds, "Table_Staff_Info");
18             }
19             catch (Exception ex)
20             {
21                 MessageBox.Show(ex.Message);
22             }
23             finally
24             {
25                 mycon.Close();
26             }
27             return myds;
28         }

  2.實現數據庫的新增記錄

方法引用:

 InsertDB( "Hyson_Staff","Table_Staff_Info",
                        new string[]{"Name","Gender","Department","BrithDay","JoinTime", "LeaveTime","IsWork"},
                        new string[]{   textBox_Name.Text,
                                        textBox_Gender.Text,
                                        textBox_Department.Text,
                                        textBox_BrithDay.Text,
                                        textBox_JoinTime.Text,
                                        textBox_LeaveTime.Text,
                                        checkBox_IsWork.Checked.ToString()});
                    dataGridView1.DataSource = BindingMode_BindingSource("Hyson_Staff", "Table_Staff_Info").Tables[0];

方法實現:

 1      /// <summary>
 2         /// 向數據庫中增加數據
 3         /// </summary>
 4         /// <param name="DB_Name">數據庫名稱</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="Array_Keys">Key數組</param>
 7         /// <param name="Array_Vaules">Value數組</param>
 8         private void InsertDB(string DB_Name, string Table_Name, string[] Array_Keys, string[] Array_Vaules)
 9         {
10             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
11             SqlConnection mycon = new SqlConnection(constr);
12 
13             try
14             {
15                 mycon.Open();
16                 string keys = " (";
17                 for (int i = 0; i < Array_Keys.Length; i++)
18                 {
19                     if (i<=Array_Keys.Length-2)
20                     {
21                         keys = keys + "[" + Array_Keys[i].Trim() + "],";
22                     }
23                     else
24                     {
25                         keys = keys + "[" + Array_Keys[i].Trim() + "])";
26                     }
27                 }
28 
29                 string values="";
30                 for (int i = 0; i < Array_Vaules.Length; i++)
31                 {
32                     if (i <= Array_Vaules.Length - 2)
33                     {
34                         values = values + "'" + Array_Vaules[i].Trim() + "',";
35                     }
36                     else
37                     {
38                         values = values + "'" + Array_Vaules[i].Trim() + "'";
39                     }
40                 }
41                 
42                 string update_sql = "insert into [" + Table_Name + "] "+keys + "values(" + values + ")";
43                 SqlCommand mycom = new SqlCommand(update_sql, mycon);
44                 mycom.ExecuteNonQuery();
45             }
46             catch (Exception ex)
47             {
48                 MessageBox.Show(ex.Message);
49             }
50             finally
51             {
52                 mycon.Close();
53             }
54         }

3.實現數據庫的刪除記錄

方法引用:

  DeleteDB("Hyson_Staff", "Table_Staff_Info", label_ID.Text);

方法實現:

 1      /// <summary>
 2         /// 實現數據庫的刪除記錄
 3         /// </summary>
 4         /// <param name="DB_Name">數據庫名稱</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="id">主鍵(數字主鍵ID)</param>
 7         private void DeleteDB(string DB_Name, string Table_Name,string id)
 8         {
 9             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
10             SqlConnection mycon = new SqlConnection(constr);
11 
12             try
13             {
14                 mycon.Open();
15                 string delete_sql = "delete top(1) from " + Table_Name + " where id=" + id;
16                 SqlCommand mycom = new SqlCommand(delete_sql, mycon);
17                 mycom.ExecuteNonQuery();
18             }
19             catch (Exception ex)
20             {
21                 MessageBox.Show(ex.Message);
22             }
23             finally
24             {
25                 mycon.Close();
26             }
27         }

4.實現數據庫的修改記錄

方法引用:

1             string ID = (label_ID.Text);
2                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Name", textBox_Name.Text, ID);
3                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Gender", textBox_Gender.Text, ID);
4                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Department", textBox_Department.Text, ID);
5                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "BrithDay", textBox_BrithDay.Text, ID);
6                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "JoinTime", textBox_JoinTime.Text, ID);
7                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "LeaveTime", textBox_LeaveTime.Text, ID);
8                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "IsWork", checkBox_IsWork.Checked.ToString(), ID);

方法實現:

 1         /// <summary>
 2         /// 修改數據庫數據
 3         /// </summary>
 4         /// <param name="DB_Name">數據庫名稱</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="Key">待修改鍵</param>
 7         /// <param name="NewValue">數值</param>
 8         /// <param name="Update_ID">當前記錄的主鍵</param>
 9         private void UpdateDB(string DB_Name, string Table_Name, string Key, string NewValue, string Update_ID)
10         {
11             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
12             SqlConnection mycon = new SqlConnection(constr);
13 
14             try
15             {
16                 mycon.Open();
17                 string update_sql = "update " + Table_Name + " set " + Key + "='" + NewValue + "' where id=" + Update_ID;
18                 SqlCommand mycom = new SqlCommand(update_sql, mycon);
19                 mycom.ExecuteNonQuery();
20             }
21             catch (Exception ex)
22             {
23                 MessageBox.Show(ex.Message);
24             }
25             finally
26             {
27                 mycon.Close();
28             }
29         }

5.實現數據庫的修改記錄

方法引用:(將查詢到的內容,填充到dataGridView1中)

dataGridView1.DataSource = SelectDB("Hyson_Staff", "Table_Staff_Info", comboBox_SelectKey.Text, comboBox_Relationship.Text,comboBox_SelectValue.Text).Tables[0];

 

方法實現:

 1      /// <summary>
 2         /// 基於Select..Where..的數據庫查詢
 3         /// </summary>
 4         /// <param name="DB_Name">數據庫名</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="SelectKey">待查詢的鍵</param>
 7         /// <param name="Relationship">關系(大於,小於,等於)</param>
 8         /// <param name="SelectValue">待查詢的值</param>
 9         /// <returns>返回類型DataSet</returns>
10         private DataSet SelectDB(string DB_Name, string Table_Name,string SelectKey,string Relationship,string SelectValue)
11         {
12             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
13             //string constr = @"Server=192.168.10.123;user=sa;pwd=sa;database=" + DB_Name;
14             SqlConnection mycon = new SqlConnection(constr);
15             DataSet myds = new DataSet();
16 
17             try
18             {
19                 mycon.Open();
20                 string sql = "select * from " + Table_Name + " where (" + SelectKey + Relationship+"'" + SelectValue + "')";
21                 SqlDataAdapter myda = new SqlDataAdapter(sql, mycon);
22                 myda.Fill(myds, "Table_Staff_Info");
23             }
24             catch (Exception ex)
25             {
26                 MessageBox.Show(ex.Message);
27             }
28             finally
29             {
30                 mycon.Close();
31             }
32             return myds;
33         }

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM