本篇文章以 ADO.NET 访问SQL SERVER 数据库为例,连接其他数据库时,可能语法上稍微有一点点差别,步骤与SQL SERVER 相同。
ADO.NET 访问数据库步骤
- 建立数据库连接
- 创建SQL 命令
- 执行SQL命令
- 处理SQL命令结果
创建数据库连接
在ADO.NET 中,通过创建Connection对象连接到特定的数据库。创建Connection对象时,必须提供相应的连接字符串。
string connStr = @"Data Source=123.123.123.123;Initial Catalog=Data_test;Persist Security Info=True;User ID=Data_test_admin;Password=shuai_wy";
SqlConnection conn = new SqlConnection(connStr);
创建SQL 命令
创建SQL命令,即创建Command对象。建立与数据源的连接后,可以使用Command对象来执行命令并从数据源中返回结果。
//创建命令
String sqlCmd = @"SELECT * FROM TESTTABLE WHERE ID = @ID";
SqlCommand cmd = new SqlCommand (conn,sqlCmd);
//添加参数
cmd.Parameters.AddWithValue("@id",10010);
执行SQL命令
执行SQL命令,并显示结果。Command对象公开了几个用于执行所需操作的Execute方法。
ExecuteReader : 当以数据流的形式返回结果时,使用ExecuteReader 可返回DataReader对象。
ExecuteScalar : 返回单个值
ExecuteNoQuery : 执行不反回的命令(如更新、删除操作)
//执行SQL命令
SqlDataReader reader = queryCmd.ExecuteReader();
处理SQL命令结果
//处理SQL命令结果
while (reader.Read())
{
Console.WriteLine(" {0}\t\t{1}", reader["AskID"], reader["Title"]);
}
ADO.NET C# 数据库操作实例
public void Connection()
{
string connStr = @"Data Source=123.123.123.123;Initial Catalog=Data_test;
Persist Security Info=True;User ID=Data_test_admin;Password=shuai_wy";
string sql = @"SELECT TOP 10 * FROM Table1 WHERE AskCity = @city";
using (SqlConnection conn = new SqlConnection(connStr))
{
//建立连接
conn.Open();
//创建SQL命令
SqlCommand queryCmd = new SqlCommand(sql, conn);
List<SqlParameter> list = new List<SqlParameter>();
list.Add(new SqlParameter() { ParameterName = "city", SqlDbType = SqlDbType.VarChar, Value = "全国" });
//添加参数
queryCmd.Parameters.AddRange(list.ToArray());
//执行SQL命令
SqlDataReader reader = queryCmd.ExecuteReader();
Console.WriteLine(" {0}\t\t{1}", "问题ID", "标题");
//处理SQL命令结果
while (reader.Read())
{
Console.WriteLine(" {0}\t\t{1}", reader["AskID"], reader["Title"]);
}
//关闭连接
reader.Close();
conn.Close();
}
}