在ADO.NET中,实现对单表的增加(Insert)、删除(Delete)、修改(Update)和查询(Select)操作,通常涉及以下步骤:
- 建立数据库连接:使用SqlConnection对象建立与数据库的连接。
- 创建命令对象:使用SqlCommand对象来创建SQL命令。
- 执行命令:对于增加、删除和修改操作,使用SqlCommand.ExecuteNonQuery方法;对于查询操作,使用SqlCommand.ExecuteReader方法。
- 处理结果:对于查询操作,处理返回的SqlDataReader对象来读取数据。
下面是一个简单的示例,演示如何使用ADO.NET对单表进行增加、删除、修改和查询操作:
csharp代码
using System; | |
using System.Data; | |
using System.Data.SqlClient; | |
class Program | |
{ | |
static string connectionString = "Data Source=你的服务器名;Initial Catalog=你的数据库名;Integrated Security=True"; | |
static void Main(string[] args) | |
{ | |
// 查询示例 | |
SelectData(); | |
// 增加示例 | |
InsertData(); | |
// 更新示例 | |
UpdateData(); | |
// 删除示例 | |
DeleteData(); | |
} | |
static void SelectData() | |
{ | |
using (SqlConnection connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
using (SqlCommand command = new SqlCommand("SELECT * FROM 你的表名", connection)) | |
{ | |
using (SqlDataReader reader = command.ExecuteReader()) | |
{ | |
while (reader.Read()) | |
{ | |
Console.WriteLine($"ID: {reader["ID"]}, Name: {reader["Name"]}"); | |
} | |
} | |
} | |
} | |
} | |
static void InsertData() | |
{ | |
using (SqlConnection connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
using (SqlCommand command = new SqlCommand("INSERT INTO 你的表名 (Name) VALUES (@Name)", connection)) | |
{ | |
command.Parameters.AddWithValue("@Name", "新记录"); | |
int rowsInserted = command.ExecuteNonQuery(); | |
Console.WriteLine($"插入的行数: {rowsInserted}"); | |
} | |
} | |
} | |
static void UpdateData() | |
{ | |
using (SqlConnection connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
using (SqlCommand command = new SqlCommand("UPDATE 你的表名 SET Name = @NewName WHERE ID = @ID", connection)) | |
{ | |
command.Parameters.AddWithValue("@ID", 1); // 假设更新ID为1的记录 | |
command.Parameters.AddWithValue("@NewName", "更新后的名称"); | |
int rowsUpdated = command.ExecuteNonQuery(); | |
Console.WriteLine($"更新的行数: {rowsUpdated}"); | |
} | |
} | |
} | |
static void DeleteData() | |
{ | |
using (SqlConnection connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
using (SqlCommand command = new SqlCommand("DELETE FROM 你的表名 WHERE ID = @ID", connection)) | |
{ | |
command.Parameters.AddWithValue("@ID", 2); // 假设删除ID为2的记录 | |
int rowsDeleted = command.ExecuteNonQuery(); | |
Console.WriteLine($"删除的行数: {rowsDeleted}"); | |
} | |
} | |
} | |
} |
请注意,上述代码中的connectionString变量需要替换为你的数据库连接字符串。同样,你的服务器名、你的数据库名和你的表名需要替换为实际的服务器名、数据库名和表名。
在InsertData、UpdateData和DeleteData方法中,我使用了参数化查询来防止SQL注入攻击。在SelectData方法中,我使用了SqlDataReader来读取查询结果。
确保在部署到生产环境之前,对数据库操作进行适当的错误处理和事务管理,以确保数据的完整性和一致性。