因为时间比较赶,没有VS测试,随手写代码,所以可能有些地方有问题,回家继续把文章写完。
ADO.NET 是一中数据编程技术,说简单点就可以用来连接操作数据源,操作的对象可以使数据库,XML文件,存储区域网。
1.DataSet类
2.Connection类
连接数据库要用到Connection类和连接字符串,连接字符串的格式如下:
string stringCon =
“Data Source=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;Integrated Security=True”;
Data Source 就是服务器名
Initial Catalog就是你想链接的数据库,
Integrated Security = True,表示是windows 账号登录SQL Server,
否则则需要在连接字符串里面写明登录数据库的账号和密码:
string stringCon =
“Data Source=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;User ID=sa;Password=119119”
在开发过程中,经常要修改连接字符串,所以我们可以把连接字符串保存到Web.config文件里面,这样就可以方便修改,使用Web.config文件里面的<connectionStrings>节就可以实现这个功能:
< connectionStrings >
<add name = “AW” connectionString =
“Data Source=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;Integrated Security=True”; />
</connectionStrings >
如果要使用时,只需string stringCon =
WebConfigurationManager.ConnectionStrings[“AW”].ConnectionString;
这样就可以取出连接字符串。
刚开始自己写连接字符串可能比较麻烦,这里有个小技巧,就是可以利用VS的可视化工具“连接到数据库”,利用它我们只要填入服务器名,账号,密码,它就就帮我们测试连接,生成连接字符串,复制粘贴到需要的地方就OK 了。
SqlConnection 类是继承自Connection类,用于SQL Server 数据源。
具体使用如下:
SqlConnection con = new SqlConnection(stringCon);
打开和关闭连接则很简单:
con.open();
con.close();
在开发项目是,应该尽可能晚的打开连接,就是在打开数据库连接之前尽可能的完成准备工作,不要连接后才开始准备,因为数据库连接是服务器上最宝贵的资源,同样的道理,用完后也要尽可能早地关闭连接。
3. Command 类
Command 类有3个属性,分别是CommandType,CommandText,Connection
CommandType 是指命令类型,它有2个比较常用的枚举值。
CommandType.Text,指明Command的命令是SQL查询语句,它是CommandType的默认值,
CommandType.StoreProcedure指明Command的命令是存储过程。
创建一个Command 对象:
String sqlString = “SELECT * FROM User”;
string stringCon =
“Data Source=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;Integrated Security=True”;
SqlConnection con = new SqlConnection(stringCon);
SqlCommand cmd = new SqlCommand(sqlString,con);
这就创建了一个SQL查询语句的命令对象,因为CommandType的默认值是CommandType.Text,所以我们不用指明。
但如果用的是存储过程则需要指明:
连接字符串和Connection对象同上,
String storeProcedure = “Sel_User”;
SqlCommand cmd = new SqlCommand(storeProcedure,con);
cmd. CommandType = CommandType.StoreProcedure;
这时只是创建了一个Command对象而已,它还没有执行。Command类有3个比较常用的的方法,用于执行Command对象。
EndExecuteNonQuery :执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。
ExecuteScalar :从数据库中检索单个值(例如一个聚合值)。
ExecuteReader :执行返回行的命令。
方法说明都是MSDN的,前两个不难理解。
第3个百度了一下,ExecuteReader() 方法需要配合 SqlDataReader 对象使用,执行得到的数据集为只读且光标只能从前向后移动。
它可以这样用:
SqlDataReader dr = comm.ExecuteReader ();
While(dr.Read())
{
……
}
4.DataReader类
DataReader类提供最简单的数据读取方法,只前不退,每次只读取查询语句返回的记录,直到记录为空或查询到所需要的记录。
具体的使用跟ExecuteReader()方法使用一样,这里综合前面的常用类,写了一个小实验:
class Program
{
static void Main(string[] args)
{
SqlConnection cn = new SqlConnection("
DataSource=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;User ID=sa;Password=119119");
SqlCommand cmd = new SqlCommand("select * from [User]", cn);
cn.Open();
SqlDataReader sr = cmd.ExecuteReader();
while(sr.Read())
{
Console.WriteLine(sr["UserID"] + "\t\t" + sr["QQ"] + "\t" + sr["RealName"]);
}
}
实验结果:
Sean 179816313 斯霖
silin 224000232 霖
zplutor 76590449 余晓村
请按任意键继续. . .
5.DataAdapter类
DataAdapter类的作用是提取填入DataSet中的记录,它是DataSet与数据库源交互的工具,常用的方法有两个,Fill()和Update(),作用一看名字就知道了。
String sqlString = “SELECT * FROM User”;
string stringCon =
“Data Source=20090503-2108;Initial Catalog=DOF_Work_Site_Test_DataBase;Integrated Security=True”;
SqlConnection con = new SqlConnection(stringCon);
SqlDataAdapter da = new SqlDataAdapter(sqlString, con); //需要2个参数SQL查询语句和connection对象。
DataSet ds = new DataSet();
da.Fill(ds,”User”);
值得注意的是,这里可以不用Connection.Open()方法来打开连接,因为当调用Fill()方法时,DataAdapter会自动打开和关闭连接。

浙公网安备 33010602011771号