新聞中心
Winform是一種面向?qū)ο蟮腤indows應(yīng)用程序設(shè)計開發(fā)框架,它可以與數(shù)據(jù)源進(jìn)行交互,提供各種控件來構(gòu)建窗體應(yīng)用程序,也可使用ADO.NET在Winform中進(jìn)行數(shù)據(jù)庫操作。在本文中,我們將介紹如何。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、固始網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為固始等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1. 建立數(shù)據(jù)庫
我們需要建立一個數(shù)據(jù)庫。我們可以使用SQL Server Management Studio(SS)來創(chuàng)建一個名為“testdb”的數(shù)據(jù)庫。建立一個名為“users”的表,包含“id”(int,主鍵),“name”(nvarchar(50)),“age”(int),“eml”(nvarchar(50))四個字段。
2. 連接到數(shù)據(jù)庫
使用Visual Studio創(chuàng)建一個Windows Forms應(yīng)用程序,并連接到數(shù)據(jù)庫。我們使用.net Framework中的SqlConnection類連接到我們的數(shù)據(jù)庫。以下是連接字符串的示例代碼:
string connectionString = @”Data Source=.\SQLEXPRESS;Initial Catalog=testdb;Integrated Security=True”;
在此示例中,我們使用本地SQL Server實(shí)例,因此,“Data Source”設(shè)置為“.\SQLEXPRESS”。如果您的SQL Server實(shí)例使用不同的名稱,請進(jìn)行相應(yīng)的更改。接下來,我們連接到數(shù)據(jù)庫:
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
3. 數(shù)據(jù)庫操作
以下是如何實(shí)現(xiàn)數(shù)據(jù)庫操作的示例代碼:
3.1 查詢數(shù)據(jù)
我們可以使用Select語句查詢數(shù)據(jù)庫中的數(shù)據(jù)。以下是如何查詢“users”表中的數(shù)據(jù)的示例代碼:
string query = “SELECT * FROM users”;
SqlCommand command = new SqlCommand(query, connection);
SqlDataReader reader = command.ExecuteReader();
List users = new List();
while (reader.Read())
{
User user = new User();
user.Id = int.Parse(reader[“id”].ToString());
user.Name = reader[“name”].ToString();
user.Age = int.Parse(reader[“age”].ToString());
user.Eml = reader[“eml”].ToString();
users.Add(user);
}
在這個示例中,我們使用Select語句獲取數(shù)據(jù)庫中的數(shù)據(jù),然后使用SqlCommand類執(zhí)行查詢,并使用SqlDataReader類讀取查詢結(jié)果。我們使用一個List列表來保存查詢結(jié)果。
3.2 插入數(shù)據(jù)
使用Insert語句插入數(shù)據(jù)。以下是將數(shù)據(jù)插入“users”表的示例代碼:
string query = “INSERT INTO users (name, age, eml) VALUES (@Name, @Age, @Eml)”;
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@Name”, user.Name);
command.Parameters.AddWithValue(“@Age”, user.Age);
command.Parameters.AddWithValue(“@Eml”, user.Eml);
int result = command.ExecuteNonQuery();
在這個示例中,我們使用Insert語句向數(shù)據(jù)庫中的“users”表中插入一條記錄。我們使用SqlCommand類執(zhí)行Insert語句,并使用AddWithValue方法設(shè)置參數(shù)。SqlCommand類的ExecuteNonQuery方法活檢索一個結(jié)果,則我們可以通過檢查返回結(jié)果的行數(shù)確定是否正確執(zhí)行了操作。
3.3 更新數(shù)據(jù)
使用Update語句更新數(shù)據(jù)。假設(shè)我們已知要更新的“id”并且用戶想要將“name”字段更新為“new name”。以下是如何更新數(shù)據(jù)的示例代碼:
string query = “UPDATE users SET name = @NewName WHERE id = @Id”;
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@Id”, id);
command.Parameters.AddWithValue(“@NewName”, newName);
int result = command.ExecuteNonQuery();
在這個示例中,我們使用Update語句將“users”表“id”列為“id”的記錄中的“name”列更新為“new name”。我們使用SqlCommand類執(zhí)行Update語句,并使用AddWithValue方法設(shè)置參數(shù)。SqlCommand類的ExecuteNonQuery方法將檢索一個結(jié)果,我們可以通過檢查返回結(jié)果的行數(shù)確定是否正確執(zhí)行了操作。
3.4 刪除數(shù)據(jù)
使用Delete語句刪除數(shù)據(jù)。假設(shè)我們已知要刪除的“id”是“1”。以下是如何刪除數(shù)據(jù)的示例代碼:
string query = “DELETE FROM users WHERE id = @Id”;
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@Id”, id);
int result = command.ExecuteNonQuery();
在這個示例中,我們使用Delete語句刪除“users”表中“id”列為“id”的記錄。我們使用SqlCommand類執(zhí)行Delete語句,并使用AddWithValue方法設(shè)置參數(shù)。SqlCommand類的ExecuteNonQuery方法將檢索一個結(jié)果,我們可以通過檢查返回結(jié)果的行數(shù)確定是否正確執(zhí)行了操作。
4. 顯示數(shù)據(jù)
我們需要在Winform中展示數(shù)據(jù)庫操作的結(jié)果。我們可以使用DataGrid控件來展示數(shù)據(jù)。以下是如何使用DataGrid控件展示查詢結(jié)果的示例代碼:
dataGridView1.DataSource = users;
在這個示例中,我們使用DataGridView控件展示查詢結(jié)果。我們把查詢結(jié)果賦值到DataGridView的DataSource屬性上。當(dāng)我們執(zhí)行查詢和其他操作時,DataGridView控件將反映用戶實(shí)際操作了什么。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
C# WinForm開發(fā)書店管理系統(tǒng)第五節(jié)
Visual Studio版本:Enterprise 2023
.net 版本:.NET Framework4.5
Sqlserver版本:2023R2
本節(jié)內(nèi)容
在第四節(jié)中,主要講了登錄用戶的增刪改查頁面,本節(jié)課,我們來看一下書籍的錄入。簡單的來說就是書籍進(jìn)銷存之前,先要錄入書籍信息,然后才可以對數(shù)據(jù)進(jìn)行進(jìn)銷存操作。
新建書籍表
首先要新建書籍,基本信息為書號,書名,出版社,作者和售價。這里以書號作為唯一值,不能重復(fù)。數(shù)據(jù)表如下:
BookID:書籍ID,int類型,自增。
BookNO:書號,主鍵,唯一值。
BookName:書名
BookPress:出版社
BookAuthor:作者
CreateTime:創(chuàng)建時間
BookCount:數(shù)量
BookPrice:價格
BookStatus:狀態(tài),1正常,0已下架
頁面設(shè)計
書籍管理中新增書籍列表菜單。
書籍列表中可以查看當(dāng)前所有書籍的信息,可以新增,修改和刪除。
功能代碼
新增頁面可以添加書籍信息,只需填寫書號,出版社,書名,作者和價格,數(shù)量是不需要填寫的,后面可以根據(jù)進(jìn)銷自動計算。防止人工輸錯。保存代碼:
因?yàn)樾略龊途庉嫸际峭粋€頁面,所以會有Type的參數(shù)來區(qū)分新增和編輯,Type等于1是新增,Type等于2是編輯。頁面的關(guān)閉,拖動前面章節(jié)有介紹就不重復(fù)了。
上面是列表頁面中的新增和編輯,可以看到新增時,Type的值給的是1,更新時Type的值是2,同時還給了BookID,這樣就可以通過BookID找到對應(yīng)書籍的信息。
運(yùn)行結(jié)果
總結(jié)預(yù)告
回復(fù)“ C#WinForm界面設(shè)計教程 ”獲取gitee源碼下載地址,主要是WinForm基本控件的使用講解。這個基本控件的使用都有介紹。
winform中(當(dāng)數(shù)據(jù)庫的數(shù)據(jù)有變化時)datagridview 刷新的問題
winform有一個特點(diǎn),只要你將數(shù)據(jù)源變逗橘化了,datagridview自然就變化了。
你如果不想每隔幾秒刷,我這有兩個辦法。
一,記錄你每次修改每張表的時間。也就是你對這個表中的數(shù)據(jù)進(jìn)行增刪改操作,就在數(shù)據(jù)庫里把這個表的更新時間記錄一下。然后在打開這個窗體進(jìn)行查詢的時候,同時獲得這個時間,剩下的,你在timer里去拿你查詢時記山頌團(tuán)錄的這個時間去和表中記錄的時間去比較,不一樣了,就說明改變了,你就重新讀一遍數(shù)據(jù)去刷新grid
二,如果你的SQL版本是2023及以上,可以利用SqlDependency來實(shí)現(xiàn),關(guān)于這個類的具體用法你可以百度一下,我說一下功能,就是建立一個數(shù)據(jù)庫依賴,當(dāng)數(shù)據(jù)庫表一旦發(fā)生變化時,會自動觸發(fā).net程序中的一個方法,在這個方法中你去重櫻模新獲取數(shù)據(jù),更新你的數(shù)據(jù)源。
關(guān)于winform數(shù)據(jù)庫增刪改查的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
標(biāo)題名稱:使用Winform實(shí)現(xiàn)數(shù)據(jù)庫增刪改查功能(winform數(shù)據(jù)庫增刪改查)
分享路徑:http://www.dlmjj.cn/article/cogiopd.html


咨詢
建站咨詢
