C# 数据库操作小结
引言
在 C# 应用程序开发中,数据库操作是非常常见的一项任务。本文将会从以下几个方面给读者提供 C# 数据库操作的攻略:
- 数据库连接
- 数据库查询
- 数据库插入
- 数据库更新
- 数据库删除
数据库连接
若要进行数据库操作,首先需要与数据库进行连接。以下是一个连接 MySQL 数据库的示例:
using System.Data;
using MySql.Data.MySqlClient;
// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("连接成功");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
Console.WriteLine("连接已关闭");
}
此示例中,定义 connStr
为 MySQL 数据库的连接字符串,然后通过 MySqlConnection
来创建连接。在 try
块中,通过调用 conn.Open()
方法来打开数据库连接;在 catch
块中,若出现异常,则将其输出到控制台上;在 finally
块中,关闭数据库连接。
数据库查询
在 C# 中使用 SQL 语句进行数据库查询,需要用到 MySqlCommand
和 MySqlDataReader
两个类。以下是一个查询 MySQL 数据库的示例:
using System.Data;
using MySql.Data.MySqlClient;
// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("连接成功");
// SQL 语句
string sql = "SELECT * FROM users";
// 创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
// 执行查询,并获取数据读取器
MySqlDataReader reader = cmd.ExecuteReader();
// 读取查询出来的数据
while (reader.Read())
{
Console.WriteLine(reader["id"].ToString() + " " + reader["username"].ToString() + " " + reader["password"].ToString());
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
Console.WriteLine("连接已关闭");
}
此示例中,定义 sql
为查询 MySQL 数据库的 SQL 语句,通过 MySqlCommand
来执行 SQL 语句,获得查询的结果集,用 MySqlDataReader
对象读取查询出的数据。在 while
循环中,通过读取器逐个输出查询出的一行数据。
数据库插入
在 C# 中使用 SQL 语句进行数据库插入,需要用到 MySqlCommand
类的 ExecuteNonQuery()
方法。以下是一个插入 MySQL 数据库的示例:
using System.Data;
using MySql.Data.MySqlClient;
// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("连接成功");
// SQL 语句
string sql = "INSERT INTO users (username, password) VALUES (@username, @password)";
// 创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@username", "zhangsan");
cmd.Parameters.AddWithValue("@password", "123456");
// 执行插入操作
int affectedRows = cmd.ExecuteNonQuery();
Console.WriteLine("插入成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
Console.WriteLine("连接已关闭");
}
此示例中,定义 sql
为插入 MySQL 数据库的 SQL 语句,通过 MySqlCommand
的 ExecuteNonQuery()
方法向数据库执行 SQL 语句,成功插入数据后,返回受影响的行数。
数据库更新
在 C# 中使用 SQL 语句进行数据库更新,同样需要用到 MySqlCommand
类的 ExecuteNonQuery()
方法。以下是一个更新 MySQL 数据库的示例:
using System.Data;
using MySql.Data.MySqlClient;
// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("连接成功");
// SQL 语句
string sql = "UPDATE users SET password=@password WHERE username=@username";
// 创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@username", "zhangsan");
cmd.Parameters.AddWithValue("@password", "654321");
// 执行更新操作
int affectedRows = cmd.ExecuteNonQuery();
Console.WriteLine("更新成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
Console.WriteLine("连接已关闭");
}
此示例中,定义 sql
为更新 MySQL 数据库的 SQL 语句,通过 MySqlCommand
的 ExecuteNonQuery()
方法向数据库执行 SQL 语句,成功更新数据后,返回受影响的行数。
数据库删除
在 C# 中使用 SQL 语句进行数据库删除,同样需要用到 MySqlCommand
类的 ExecuteNonQuery()
方法。以下是一个删除 MySQL 数据库的示例:
using System.Data;
using MySql.Data.MySqlClient;
// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("连接成功");
// SQL 语句
string sql = "DELETE FROM users WHERE username=@username";
// 创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@username", "zhangsan");
// 执行删除操作
int affectedRows = cmd.ExecuteNonQuery();
Console.WriteLine("删除成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
Console.WriteLine("连接已关闭");
}
此示例中,定义 sql
为删除 MySQL 数据库的 SQL 语句,通过 MySqlCommand
的 ExecuteNonQuery()
方法向数据库执行 SQL 语句,成功删除数据后,返回受影响的行数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#数据库操作小结 - Python技术站