A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 盘晟 于 2013-5-13 12:58 编辑



老师视频里成功了,我上百度也找了答案,可是没有合理的解释,不知道是什么原因,各位高手来帮看下!(里面一些代码不是看得很懂,求解释!)

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

13 个回复

倒序浏览
你确定数据库服务开了吗?
{:soso_e100:}
回复 使用道具 举报
你的连接字符串写错了    你看下面两种情况,自己的笔记本一般都是第一种那样的    要是在机房里的  基本上都是第二种那种形式的,但是第二种要注意双斜线啊

private static string strcon = "Data Source=.;Initial Catalog=MySchool;Integrated Security=True";


private static string strcon =Data Source=A59NSKHJWHQQEIR    \\    SQLEXPRESS;Initial Catalog=ExamSys;Integrated Security=True

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
如果是本地的   自己的笔记本就写成第一种
回复 使用道具 举报
陈晖 发表于 2013-5-12 18:34
你确定数据库服务开了吗?

开了,搞不定,全部按照老师讲的写,老师的行,我的不行!
回复 使用道具 举报
赵利斌 发表于 2013-5-12 20:24
你的连接字符串写错了    你看下面两种情况,自己的笔记本一般都是第一种那样的    要是在机房里的  基本上 ...

按照你这种方法试了,也不行额,代码和老师的一样,为什么老师的就是对的?也是本地的数据库啊,对了数据库是08版本的!
回复 使用道具 举报
本帖最后由 陈志盟 于 2013-5-12 23:15 编辑

AttachDbFilename   你中间有个字母写错了,你把这个换上去试试,可以是你没有区分大小写的问题。。

可以参照下面这个连接试试,我测试是成功的。
//数据库连接,* 为数据库名
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\***.mdf;Integrated Security=True;User Instance=True
回复 使用道具 举报
可以这样
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\数据库名称.mdf;Integrated Security=True;User Instance=True

一般写连接字符串的时候用vs自动生成的更方便一点,你只需要知道字符串每一处代表什么就可以了

视图→服务器资源管理器→数据连接 右键 →添加新连接→填好参数 点击生成新的连接后  右键 属性→在属性框里的连接字符串里的文本就是你需要的文本

添加过程你还可以先测试连接 是否成功
回复 使用道具 举报
string sqlcon = @"server=*********\SQL;database=test;Integrated Security=true";
SqlConnection conn = new SqlConnection(sqlcon);

写成这样在前面加@就不用注意双斜杠的问题了
回复 使用道具 举报
陈志盟 发表于 2013-5-12 23:12
AttachDbFilename   你中间有个字母写错了,你把这个换上去试试,可以是你没有区分大小写的问题。。

可以 ...

是AttachDbFilename吧?这个我试了,大小写没问题,还是出现同样的错误的。AttachDbFilename是不是“附一个数据库文件”的意思?
回复 使用道具 举报
李礼彬 发表于 2013-5-13 09:54
可以这样
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\数据库名称.mdf;Integrated Securit ...

非常感谢你,写的好详细,对于像我这种菜鸟来说就是福音!按照你的步骤做了,终于连接成功了,好开心!



还有就是,像这样连接成功以后放在MAIN方法下的这些代码应该没用了吧?://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);
            //}
回复 使用道具 举报
石国庆 发表于 2013-5-13 10:27
string sqlcon = @"server=*********\SQL;database=test;Integrated Security=true";
SqlConnection conn = ...

刚接触这块,以前没见过这种写法呢,server是服务器吧?database是什么啊?怎么和我上面的代码联系起来呢?谢谢你的解答!
回复 使用道具 举报
盘晟 发表于 2013-5-13 12:57
刚接触这块,以前没见过这种写法呢,server是服务器吧?database是什么啊?怎么和我上面的代码联系起来呢 ...

server是服务器的名字,去sqlserver里面把名字复制过来就行,database是要连接的数据库名称
回复 使用道具 举报
盘晟 发表于 2013-5-13 12:44
是AttachDbFilename吧?这个我试了,大小写没问题,还是出现同样的错误的。AttachDbFilename是不是“附一 ...

AttachDbFilename=|DataDirectory|\***.mdf 是附加,并且数据库放在项目目录下的,这是一个相对的路径
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马