黑马程序员--ADO.NET小结(上)

来源:互联网 发布:网络王炸是什么意思 编辑:程序博客网 时间:2024/05/21 09:51

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

程序要和数据库交互要通过ADO.NET进行,通过ADO.NET就能在程序中执行SQL了。ADO.NET中提供了对各种数据库的同意操作接口。直接在项目中内嵌mdf文件的方式使用SQL Server数据库(基于服务的数据库)。mdf文件随着项目走,用起来方便。和在数据库服务器上创建数据库没有什么区别,运行的时候会自动附加。双击mdf文件会在“服务器资源管理器”中打开,管理方式和在Manangement Studio没有本质不同。要拷贝mdf文件需要关闭所有指向mdf文件的连接。正式产生运行的时候附加到SQL Server上,修改连接字符串即可,除此之外没有任何的区别,在“数据库”节点上点击右键“附加”;在数据库节点上->任务->分离就可以得到可以考来考取的mdf文件。//连接SQLServer连接字符串:程序通过连接字符串指定要连接到哪台服务器上的、连哪个实例的那个数据库、用什么用户名密码等。项目内嵌mdf文件形式的连接字符串"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True;"".\SQLEXPRESS" 表示 本机上的SQLEXPRESS实例,如果数据库实例名不是SQLEXPRESS,则需要修改。"Database1.mdf"为mdf的文件名非内嵌的mdf文件形式的连接字符串"Data Source=MRLIU-PC;Initial Catalog=StudentDB;Integrated Security=True"连接数据库语句:"Data Source=.;Initial Catalog=数据库名;Integrated Security=True"ADO.NET中通过SqlConnection类创建到SQLServer的连接,SqlConnection代表一个数据库连接,ADO.NET中的连接等资源都实现了IDisposable接口,可以使用using进行资源管理。//执行简单的Insert语句SqlCommand表示向服务器提交的一个命令(SQL语句等),CommandText属性为要执行的SQL语句,ExecuteNonQuery方法执行一个非查询语句(Update,Insert,Delete等)//SqlCommand的三大对象:ExecuteNonQuery 表示受影响的行数。//执行查询ExecuteReader 执行有多行结果集时用reader的GetString、GetInt32等方法只接受整数参数,也就是序号,用GetOrdinal方法根据列名动态得到序号。ExecuteScalar 返回第一行、第一列的数据。因为不能确定返回值的类型,所以返回值类型为Object类型//对于SQL中的关键字,例如:User 如果表名设置成了User,应该写成[User]否则会报错。得到自动增长字段的主键值,在values关键词前加上 output inserted.ID,其中ID为逐渐字段名。执行结果就是插入的主键值,用ExecuteScalar执行最方便。insert into T_Users(UserName,Pwd) output inserted.ID values('admin1','1234')//Colse和DisposeColse:关闭以后还能打开。Dispose:直接销毁。不能再次使用。Using在出了作用域以后调用Dispose,SqlConnection、FileStream等的Dispose等的Dispose内部都会做这样的判断:有没有close,如果没有Close就先Close再Dispose

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

原创粉丝点击