asp.net 很奇怪地连不上数据库 求教!!!
我在VS2008里先建了个名为Student的解决方案,然后再Sudent文件夹里又建了个Student.Web文件夹.然后右键单击Student.Web文件属性,在Web共享里选中共享文件夹,然后单击确定.进入VS008里,右键单击Student解决方案,在添加里面单击新建网站,选中asp.net网站,位置选Http http://localhost/Student.Web,语言选Visual C#,然后单击确定.在Default.aspx里面添加了两个textbox控件,一个确定按钮和一个Label控件,ID分别为txtName,txtPwd,btnSubmit,lblMsg.
最后在按钮单击事件里添加如下代码:
SqlConnection con = new SqlConnection(@"Data Source=3c249bee2a97469\sqlexpress;Initial Catalog=db_Student;Integrated Security=True");
string sql = "select * from tb_User where UserName='" + txtName.Text.Trim() + "' and PassWord='" + txtPwd.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
lblMsg.Text = "Yes";
}
else
{
lblMsg.Text = "No";
}
运行时没问题,然后我在文本框输完字符,单击登陆出现了以下错误:
无法打开登录所请求的数据库 "db_Student"。登录失败。
用户 '3C249BEE2A97469\ASPNET' 登录失败。
Line 23: SqlDataAdapter sda = new SqlDataAdapter(sql, con);
Line 24: DataSet ds = new DataSet();
Line 25: sda.Fill(ds); //报错的地方
Line 26: if (ds.Tables[0].Rows.Count > 0)
Line 27: {
我用的是sql2005的数据库,数据库服务器名:3C249BEE2A97469\SQLEXPRESS
用户名:3C249BEE2A97469\Administrator 用的是Windows身份验证.
在线求教高手!!!! --------------------编程问答-------------------- 先用你的账户登录下SQL2005试试看!看看能不能登录,是不是SQL的服务没开,, --------------------编程问答--------------------
--------------------编程问答-------------------- 数据库安全哪里没有3C249BEE2A97469\ASPNET啊
1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个'ASPNET' --右键"属性";
2.选择"用户映射"选项---在里面将我们要访问的数据库选中
3.先别点确定---再选择我们刚才选择的哪个数据库,在下面的"数据库角色成员身份"里要选择"db_owner"权限
--------------------编程问答-------------------- 可能是你的连接字符串错了,最简单的方法是,你拖一个sqlconnent控件进来,然后一步一步的选择你的数据库,成功之后把系统产生的字符串换上去,应该就没问题了 --------------------编程问答-------------------- 倒是有3C249BEE2A97469\Administrator --------------------编程问答-------------------- 我就是拖一个sqlconnent控件进来,然后一步一步的选择数据库,成功之后把系统产生的字符串换上去,但.net不支持\,所以我就在前面加了@
--------------------编程问答-------------------- 服务器名有问题吧 --------------------编程问答-------------------- 真的很奇怪,我直接在VS2008里键一个asp.net网站,跟上面一样添加控件,然后写代码却能运行
--------------------编程问答-------------------- 谁能试试在自己的电脑里,按照我发的方法在做一遍,看看能不能运行成功,回来告诉我一下,非常感谢!!
--------------------编程问答-------------------- 学习中!!
--------------------编程问答-------------------- 不要用windows的集成身份验证
数据库---安全性---找到刚才报错的哪个'ASPNET账号'
右键"属性";
在里面将要访问的数据库选中
在下面的"数据库角色成员身份"里要操作权限 --------------------编程问答-------------------- 服务器名看看运行的sql服务器名是不是3c249bee2a97469\sqlexpress或是直接复制VS中的数据库连接字符串 我这样做从来没错过 --------------------编程问答-------------------- 学习中~~ --------------------编程问答-------------------- 数据库中添加ASPNET用户。
顺便问一句哪位达人知道回帖时怎么加图片。 --------------------编程问答--------------------
没问题 就这么做! --------------------编程问答-------------------- 数据库连接字符串有问题吧 --------------------编程问答--------------------
顶... --------------------编程问答--------------------
这是个很猥琐但很有效的办法。。。
补充:.NET技术 , ASP.NET