黑马程序员--学习笔记之ADO.Net基础知识

本文主要介绍如何使用ADO.Net进行Windows Phones 7手机开发和.NET培训,包括如何通过ADO.Net与数据库交互,使用内嵌mdf文件的方式连接SQLServer数据库,以及解决在使用ASP.NET 2.0 + SQL2005 + aspnetdb时遇到的问题。通过提供的'神奇代码'和连接字符串示例,帮助开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  • 主要是摘自教程的PPT(官方的话才有权威)
  • ADO.Net中提供了对各种不同数据库的统一操作接口
          程序要和数据库交互时,要通过ADO.Net进行操作,使用ADO.Net就能在程序中执行SQL

  • 直接在项目中内嵌mdf文件的方式使用SQLServer数据库(基于服务的数据库),mdf文件随着项目走,使用起来方便多,
     和在数据库服务器上创建数据库没什么区别,运行的时候会自动附加

  • 双击mdf文件会在“服务器资源管理器”中打开,管理方式和在Management Studio没有什么本质不同,
     另外要注意的是:当你拷贝mdf文件需要关闭所有指向mdf文件的连接
     正式生成运行的时候,附加到SQLServer上,修改连接字符串即可,除此之外没有任何的区别,在“数据库”节点上点
     右键“附加”;在数据库节点上-->任务-->分离,就可以得到可以拷贝的mdf文件了
 

  • 杨老师常说的“神奇代码”:
     string dataDir = AppDomain.CurrentDomain.BaseDirectory;
     if(dataDir.EndsWith(@"\bin\Debug")||dataDir.EndsWith(@"\bin\Release"))
     {
               dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
               AppDomain.CurrentDomain.SetData("DataDirectory",dataDir);
     }

这里摘自杨老师的原理分析
 原理简单分析:连接字符串中的DataDirectory的值就是通过AppDomain.CurrentDomain.SetData赋值过去的,如果 当前程序的目录以"\bin\Debug\"或者"\bin\Release\"则认为它是运行在VisualStudio环境中,就取项目的目录然后赋 值给DataDirectory这个key。既然是CurrentDomain.SetData,估计对于非默认AppDomain中的数据库连接代码可 能会不起作用(只是猜测,没验证),这就要需要创建子AppDomain的时候再去赋值了。


  • 连接SQLServer
连接字符串:程序通过连接字符串,指定要连哪台服务器上的,哪个实例的哪个数据库,用什么用户名密码等
项目内嵌mdf文件形式的连接字符串“DataSource=.\SQLEXPRESS:AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;User Instance=True”

其中,.\SQLEXPRESS表示“本机上的SQLEXPRESS实例”,如果数据库实例名不是SQLEXPRESS,则需要修改,Database1.mdf
为mdf的文件名

ADO.Net中通过SqlConnection类创建到SQlServer的连接,SqlConnection代表一个数据库连接,ADO.Net中的连接等资源都实现了IDisposableu接口,可以使用using进行资源管理,


  • 常见问题:--(摘自网络)
由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。
在使用ASP.NET   2.0   +   SQL2005   +   aspnetdb(MemberShip等功能)时出现这个问题:“由于启动用户实例的进程时出错,导致无法生成   SQL   Server   的用户实例。该连接将关闭。”,其英文版本的相同问题的错误信息是:“Failed   to   generate   a   user   instance   of   SQL   Server   due   to   a   failure   in   starting   the   process   for   the   user   instance.   The   connection   will   be   closed.” 

 解决办法:删除C:\Documents   and   Settings\[USERNAME]\Local   Settings\Application   Data\Microsoft\Microsoft   SQL   Server   Data\SQLEXPRESS目录即可,[USERNAME]是Windows用户名,比如说Administrator 

---------------------- Windows Phones 7手机开发.Net培训、期待与您交流! ---------------------- 
详细请查看 http://net.itheima.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值