asp.net连接数据库(SQL Server 2005 Express)详细说明
2007-05-01 03:54
没用过SQL Server 数据库,第一次配置费了不少劲,微软的东西有点绕,能遇到的问题都遇到了,看过此文后,数据库基本都能连接。废话不说。我的系统是xp,不能装SQL Server 2005的企业版本,只能装开发版和Express版,Express是免费版,学习用它就够了。首先需要下载一个名为SQLServer2005_SSMSEE.msi,这个文件一搜索就有下载(http://download.microsoft.com/download/1/1/0/110d908f-c445-4523-b939-220c7d135f3d/SQLServer2005_SSMSEE.msi)下载安装。用VS2005菜单 工具 连接到数据库 出现连接服务器资源管理器,右键 数据连接 如下图:
添入服务器名和数据库名,选择验证方式,一般会出现错误;
"在默认的设置下SQL Server不允许远程连接可能会导致此失败 error:40无法打开到SQL Server的连接连接失败。"
1.此时需要开启sql2005远程连接功能
开始 -- Microsoft SQL Server 2005 -- 配置工具-- SQL Server 外围应用配置器 -- 远程控制 ---- 服务和连接外围应用配置器 SQLEXPRESS -- Database Engine
勾选 本地连接和远程连接,同时使用TCP/IP和name pipes ,确定 。 如下图
2.登陆设置改为SQL Server身份验证
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express,选择Windows 身份验证 连接 ,进去后在左边的 对象资源管理器 的第一项 就是你的服务器名 点右键 属性,选择 安全 选择SQL Server和windows验证模式 如下图:
3.设置一个SQL server方式的用户名和密码
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express,选择Windows 身份验证 连接 ,点上面的新建立查询 在右面输入 sp_password null,'123456','sa' ,点上面的执行,这样就设置了一个用户名为sa ,密码为:123456的用户,但是现在还不能用用户名sa登陆 如下图:
4.开启sa帐号
开始 -- Microsoft SQL Server 2005 -- SQL Server Management Studio Express ,选择Windows 身份验证 连接,点左面的 对象资源管理器 -- 安全性 -- 登陆名 -- sa 右键属性,点状态 登陆 勾选启用 如下图
5.重启数据库服务器
如下图
服务器名就是你登陆数据库管理器的时候的服务器名 如 我的是 COMPUTER\SQLEXPRESS
以后操作都完成后,就会出现下图,那么,恭喜,连接成功!
调用数据连接两种方法
1.web.config (配置文件) 中 <appSettings> <add key="ConnectionString" value="server=localhost\sqlexpress;uid=sa;pwd=123456;database=News"/> </appSettings>
调用的时候 string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString(); SqlConnection Conn = new SqlConnection(strConn);
2.或者不用web.config直接在文件中写
SqlConnection conn = new SqlConnection("server=.\\SQLEXPRESS;uid=sa;pwd=123456;database=login");
如果写成字符串一定要注意,需要写一个转义字符 结果就是 .\\SqlExpress
如何是Express版的数据库,一定要在服务器名的后面加上 \\SSQLEXPRESS
一个完整的例子
string userName = Request.Form["userName"]; string userPwd = Request.Form["userPwd"]; SqlConnection con = new SqlConnection("server=localhost\\SqlExpress;uid=sa;pwd=123456;database=login"); con.Open(); SqlCommand cmd=new SqlCommand("select count(*) from login where userName='"+userName+"' and userPwd='"+userPwd+"'",con); int count=Convert.ToInt32(cmd.ExecuteScalar()); if(count>0) { Response.Redirect("main.aspx"); }
|
|
请发表评论