黑马程序员--ADO.NET中的常用类
来源:互联网 发布:时间戳java显示gmt时间 编辑:程序博客网 时间:2024/05/24 23:14
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
此处假设用的是MS SQL SERVER数据库。
1.Connection类:
连接数据库要用到Connection类和连接字符串,连接字符串的格式如下:
string stringCon = “Data Source=127.0.0.1;Initial Catalog=数据库名;Integrated Security=True”;
Data Source 就是服务器名
Initial Catalog就是你想链接的数据库,
Integrated Security = True,表示是windows 账号登录SQL Server,
否则则需要在连接字符串里面写明登录数据库的账号和密码:
string stringCon = “Data Source=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=itheima”
在开发过程中,经常要修改连接字符串,所以我们可以把连接字符串保存到Web.config文件里面,这样就可以方便修改,使用Web.config文件里面的<connectionStrings>节就可以实现这个功能:
< connectionStrings >
<add name = “ConnectionString” connectionString = "Data Source=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=itheima”"/>
</connectionStrings >
如果要使用时,只需
string stringCon = ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString;
这样就可以取出连接字符串。
刚开始自己写连接字符串可能比较麻烦,这里有个小技巧,就是可以利用VS的可视化工具“连接到数据库”,利用它我们只要填入服务器名,账号,密码,它就就帮我们测试连接,生成连接字符串,复制粘贴到需要的地方就OK 了。
SqlConnection 类是继承自Connection类,用于SQL Server 数据源。
具体使用如下:
SqlConnection con = new SqlConnection(stringCon);
打开和关闭连接则很简单:
con.open();
con.close();
在开发项目是,应该尽可能晚的打开连接,就是在打开数据库连接之前尽可能的完成准备工作,不要连接后才开始准备,因为数据库连接是服务器上最宝贵的资源,同样的道理,用完后也要尽可能早地关闭连接。
2. 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=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=itheima”;
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对象。
ExecuteNonQuery :执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。
ExecuteScalar :从数据库中检索单个值(例如一个聚合值)。
ExecuteReader :执行返回行的命令。
方法说明都是MSDN的,前两个不难理解。
第3个百度了一下,ExecuteReader() 方法需要配合 SqlDataReader 对象使用,执行得到的数据集为只读且光标只能从前向后移动。
它可以这样用:
SqlDataReader dr = comm.ExecuteReader ();
While(dr.Read())
{
……
}
3.DataReader类
DataReader类提供最简单的数据读取方法,只前不退,每次只读取查询语句返回的记录,直到记录为空或查询到所需要的记录。
具体的使用跟ExecuteReader()方法使用一样,这里综合前面的常用类,写了一个小实验:
class Program
{
static void Main(string[] args)
{
SqlConnection cn = new SqlConnection(" Data Source=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=itheima ");
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"]);
}
}
实验结果:
1 38889676 黑马
2 99999999 白马
3 00000000 小马
请按任意键继续. . .
4.DataSet类
String sqlString = “SELECT * FROM User”;
string stringCon = “Data Source=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=itheima ”;
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会自动打开和关闭连接。
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员--ADO.NET中的常用类
- 黑马程序员-Ado.Net
- 黑马程序员-ADO.Net
- 黑马程序员-ADO.NET
- 黑马程序员 ADO.net
- 黑马程序员-ADO.net
- 黑马程序员-----ADO.NET
- 黑马程序员--ADO.NET
- 【黑马程序员】ADO.NET
- 【黑马程序员】ADO.net
- 黑马程序员 ado.net
- 黑马程序员《.NET ADO.NET》
- 【黑马程序员】ADO.Net(五个常用对象,数据导入)
- 黑马程序员 ADO.Net数据库连接
- 黑马程序员--笔记:ADO.Net
- 【黑马程序员】Ado.Net入门
- 黑马程序员-ADO.NET入门
- 黑马程序员-ADO.Net基础
- 圆的面积
- [Android] Adapter:SimpleAdapter SimpleCursorAdapter ArrayAdapter 与ListView的用法
- 《软件架构师应该知道的97件事》
- 谷歌PR值再度更新 推荐使用谷歌工具条
- IOS对时间的操作大全 待更新
- 黑马程序员--ADO.NET中的常用类
- SIGTRAN
- 关于E2075 Incorrect project override option: -WE解决办法
- 双向同步软件Unison的安装与配置
- 数字证书在信息安全应用中的基本原理是什么?
- 在深圳,第一个项目的总结
- java输入输出处理-文件file
- interpolation algorithm
- LOG4J配置全接触