本次使用 SqlConnection 來連接資料庫,使用 DataGridView 來顯示查詢的結果。最終效果如下: 一、連接資料庫 1.獲取連接資料庫所需的字元串,包括伺服器名稱,資料庫名稱,用戶名以及密碼,可在配置文件中配置,或直接在代碼里寫死 在配置文件 App.config 中配置的代碼: ...
本次使用 SqlConnection 來連接資料庫,使用 DataGridView 來顯示查詢的結果。最終效果如下:
一、連接資料庫
1.獲取連接資料庫所需的字元串,包括伺服器名稱,資料庫名稱,用戶名以及密碼,可在配置文件中配置,或直接在代碼里寫死
在配置文件 App.config 中配置的代碼:
<configuration> <appSettings> <add key="connectionstring" value="server=192.168.3.201;database=Nine_Xhs;uid=sa;pwd=Nine!2021;"/> </appSettings> </configuration>View Code
2.獲取資料庫連接對象
public static SqlConnection CreateSqlConn() { //從配置文件 App.config 中獲取資料庫連接字元串 var conStr = ConfigurationManager.AppSettings["connectionstring"]; SqlConnection conn = new SqlConnection(conStr); return conn; }View Code
3.測試資料庫的連通性
private void button1_Click(object sender, EventArgs e) { try { if (conn.State == ConnectionState.Closed) { conn.Open(); } MessageBox.Show("連接成功","資料庫連接測試"); } catch (Exception ex) { MessageBox.Show("連接失敗:"+ ex.Message, "資料庫連接測試"); } }View Code
二、查詢數據併在畫面上顯示
1.在視窗中添加 DataGridView 對象,用於顯示數據
右鍵點擊 DataGridView 對象,可以編輯要顯示的列,以及表頭的名稱。
列屬性:
DataPropertyName : 數據源中對應欄位的名稱,根據對應的欄位來顯示值
HeaderText : 表頭顯示的文字
DataGridView屬性
AllowUserToAddRows :DataGridView預設底部有一行空數據,將改屬性修改為False,可以隱藏空白行
AutoSizeColumnsMode:控制列的寬度,將該屬性ScrollBars修改為 Fill , 能讓列的寬度自適應,充滿整個畫面
ScrollBars : 控制滾動條的狀態,可隱藏滾動條,或只顯示水平或垂直的滾動條
2.生成數據查詢SQL,並將查詢結果綁定到 DataGridView 上,在畫面進行顯示
private void button2_Click(object sender, EventArgs e) { var dataCnt = numericUpDown1.Value; dataCnt = dataCnt > 0 ? dataCnt : 5; string sql = "Select Top " + dataCnt + " UserId,RedId,NickName,[Desc],Location From UserInfo "; var ds = Query(sql); if (ds.Tables?.Count > 0) { var dt = ds.Tables[0]; //直接綁定DataTable dataGridView1.DataSource = dt; ////綁定對象列表 //List<UserInfo> userList = new List<UserInfo>(); //if (dt.Rows?.Count > 0) //{ // foreach (DataRow row in dt.Rows) // { // UserInfo user = new UserInfo // { // UserId = row["UserId"] + "", // RedId = row["RedId"] + "", // NickName = row["NickName"] + "", // Desc = row["Desc"] + "", // Location = row["Location"] + "", // }; // userList.Add(user); // } //} //dataGridView1.DataSource = userList; } } public DataSet Query(string sqlStr) { DataSet ds = new DataSet(); try { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlDataAdapter command = new SqlDataAdapter(sqlStr, conn); command.Fill(ds); } catch (Exception ex) { throw new Exception(ex.Message); } return ds; }View Code
註:DataGridView 對象綁定的數據源,DataTable 以及 對象List 都是可以的,顯示的效果是一樣的