在WinForm應用程序中實現對數據庫的增刪改查操作,可以按照以下步驟進行:
創建數據庫連接:使用合適的數據庫連接對象(如SqlConnection、OleDbConnection等),設置連接字符串,打開數據庫連接。
執行查詢操作:使用合適的數據庫命令對象(如SqlCommand、OleDbCommand等),設置SQL語句或存儲過程,執行查詢操作。可以通過執行ExecuteReader方法返回一個DataReader對象來讀取查詢結果。
執行插入、更新或刪除操作:同樣使用合適的數據庫命令對象,設置SQL語句或存儲過程,執行相應的操作。對于插入、更新操作可以使用ExecuteNonQuery方法,返回受影響的行數。
處理查詢結果:對于查詢操作,可以通過讀取DataReader對象的結果來處理數據。可以使用Read方法逐行讀取查詢結果,使用GetXXX方法獲取字段值。
關閉數據庫連接:在操作完成后,關閉數據庫連接,并釋放相關資源。
下面是一個簡單的示例,演示如何在WinForm中實現數據庫的增刪改查操作:
using System.Data.SqlClient;
// 假設數據庫連接字符串為:server=數據庫服務器地址;database=數據庫名稱;uid=用戶名;pwd=密碼;
string connStr = "server=localhost;database=mydb;uid=sa;pwd=123456";
// 查詢操作示例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string sql = "SELECT * FROM Customers";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// 處理查詢結果
string customerId = reader.GetString(0);
string companyName = reader.GetString(1);
// ...
}
reader.Close();
}
// 插入操作示例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string sql = "INSERT INTO Customers (CustomerId, CompanyName) VALUES (@CustomerId, @CompanyName)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@CustomerId", "001");
cmd.Parameters.AddWithValue("@CompanyName", "ABC Company");
int rowsAffected = cmd.ExecuteNonQuery();
}
// 更新操作示例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string sql = "UPDATE Customers SET CompanyName = @CompanyName WHERE CustomerId = @CustomerId";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@CompanyName", "XYZ Company");
cmd.Parameters.AddWithValue("@CustomerId", "001");
int rowsAffected = cmd.ExecuteNonQuery();
}
// 刪除操作示例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string sql = "DELETE FROM Customers WHERE CustomerId = @CustomerId";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@CustomerId", "001");
int rowsAffected = cmd.ExecuteNonQuery();
}
請注意,以上示例僅為演示基本操作,實際情況中可能還需要考慮異常處理、事務控制等。