在C#应用程序开发中,经常需要连接数据库进行数据操作,例如读取和修改数据。本文将介绍如何在C#中使用ADO.NET技术连接数据库。
一、连接数据库
连接数据库通常包括以下几个步骤:
1.引用命名空间
在程序中需要引用System.Data、MySql.Data.MySqlClient和System.Configuration三个命名空间。需在引用中添加以及在文件头部添加以下代码:
using System.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
2.配置app.config文件
连接字符串是连接数据库必需的一项信息。可以在应用程序的配置文件(如app.config或web.config)中存储连接字符串,或者在程序中直接创建连接字符串。以下以app.config示例
<appSettings>
<add key=”MyContext”
value=”database=test;server=127.0.0.1;port=3306;UserId=root;Password =123456;” />
</appSettings>
其中,database是数据库名;server是主机ip;port是数据库端口号; UserId是Mysql数据库用户名;Password:数据库自行设置的密码。
3.创建连接字符串
获取配置文件中的连接字符串
string ConnectString = ConfigurationManager.AppSettings[“MyContext”].ToString();
4.创建MySqlConnection对象
创建一个SqlConnection对象,使用连接字符串初始化该对象。以下是一个示例代码:
//连接数据库第一种方式
MySqlConnection con = new MySqlConnection(ConnectString);
//连接数据库第二种方式
MySqlConnection con = new MySqlConnection();
con.ConnectionString = ConnectString
5.打开数据库
使用Open()方法打开数据库连接:
con.Open();
6.关闭数据库
使用Close()方法关闭数据库连接:
con.Close();
二:执行SQL查询
连接数据库后,就可以执行SQL查询。可以使用SqlCommand对象执行SQL查询,并使用SqlDataReader对象读取查询结果。以下是一个示例代码
/*MysqlCommand 向Mysql数据库发送SQL语句*/
MySqlCommand cmd = new MySqlCommand(“select * from tablename “,con);
/*********************/
//等于上面方式
MySqlCommand cmd = new MySqlCommand();
//sql文本命令
cmd.CommandText = “select * from user “;
cmd.Connection = con;
//执行SQL文本
MySqlDataReader reader = cmd.ExecuteReader();
//读取数据状态
while (reader.Read())
{
//读取uid列的数据
int uid = reader.GetInt32(“uid”);
//读取uname列数据
string uname = reader.GetString(“uname”);
//读取upassword列数据
string upwd = reader.GetString(“upassword”);
}
其中,tablename是表名;uid、uname、upassword是查询的列名
三、执行SQL更新
使用SqlCommand对象执行SQL更新,例如插入、修改或删除数据。以下是一个示例代码
string queryString = “INSERT INTO tablename (column1, column2) VALUES (@value1, @value2)”;
SqlCommand command = new SqlCommand(queryString, connection);
command.Parameters.AddWithValue(“@value1”, “value1”);
command.Parameters.AddWithValue(“@value2”, “value2”);
int rowsAffected = command.ExecuteNonQuery();
其中,tablename是表名,column1和column2是表中的列名。使用Parameters属性设置SQL参数,这样可以避免SQL注入攻击。使用ExecuteNonQuery()方法执行SQL更新,返回受影响的行数。
四、关闭数据库以及读取,并释放资源
reader.Close();
reader.Dispose();
con.Close();
con.Dispose();
以上是一个简单的C#连接数据库的示例代码,可以根据实际需要进行修改和扩展。使用ADO.NET技术连接数据库可以方便地进行数据操作,并且可以保证程序的安全性和稳定性。