第一次ADO.Net连接SQLserver测试时出现的问题-传智播客的ADO例子

  今天是第一次注册博客园,并写文章,也是第一次连接ado,本来十四分钟的传智播客视频,我竟然花了三个多小时才弄好,这其中的曲折纠结要不记下来,那就太可惜了,也算提醒下自己和同样问题的朋友。

  1.首先建一个windows控制台(第一个mdf),在里面添加一个基于服务的数据库(Database1.mdf)。如图:

                                                                 

2.主程序窗口插入以下代码:(固定格式,以后每次照抄即可)

1 string dataDir = AppDomain.CurrentDomain.BaseDirectory;
2 if (dataDir.EndsWith(@"\bin\Debug\")
3 || dataDir.EndsWith(@"\bin\Release\"))
4 {
5 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
6 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
7 }

插入此段代码原因:http://www.rupeng.com/forum/thread-11988-1-1.html

3.插入代码:

1 SqlConnection conn =new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CallCenter.mdf;Integrated Security=True;User Instance=True
2 ");

由于我的SQL是sqlserver所以“Data Source=.\;”  mdf的名字也不是这个。最后为:

1 SqlConnection conn =new SqlConnection(@"Data Source=.\;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=False");

主程序页面的所有代码为:

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data.SqlClient;
6
7 namespace 第一个mdf
8 {
9 class Program
10 {
11 staticvoid Main(string[] args)
12 {
13 string dataDir = AppDomain.CurrentDomain.BaseDirectory;
14 if (dataDir.EndsWith(@"\bin\Debug\")
15 || dataDir.EndsWith(@"\bin\Release\"))
16 {
17 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
18 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
19 }
20
21 SqlConnection conn =new SqlConnection(@"Data Source=.\;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=False");
22
23 conn.Open();
24 Console.WriteLine("打开数据库成功");
25 }
26 }
27 }

此时就可以运行了!!

具体错误及解决办法:

1.注意看此路径是否为你数据库所在路径,不是的话改正。

2.如果路径正确,那通过文件夹进入该路径,鼠标右键该数据库看看用户权限是否满足。


 3.数据库的实例直接写错了:“Data Source=.。。。。。。。。。。。”

4.当成功连接一次成功后,修改字符串再次连接有时会报错,此时应把SQL中的生成的数据库点击右键:任务->分离,否则vs会提示:正由另一进程使用,因此该进程无法访问此文件。生成失败。

posted @ 2011-07-28 23:57  小妖.OTZ  阅读(538)  评论(1编辑  收藏  举报