配置VS2005与SQL2005数据库的连接_AXzhz

休眠了n久,今天火山终于爆发了!

具体的前期准备请看:
http://www.cnblogs.com/user34j/archive/2007/03/11/670954.html

写的很详细,我就不多说了,就是最后那个什么详细连接的连不上.难道是真的连不上吗?
于是我做了下面的测试.

①VS2005的Web.Config有了connectionString这个新节点,在新节点加两个子节点.name随便,providerName不变(连SQL2005的Provider),connectionString...咳咳,参见上面的链接.
(Web.Config是从哪里来的?新建一个Website,F5运行,出现一个pop-up Window,点确定,把空页面关掉.系统就会自动给你的项目生成一个Web.Config文件)
ContractedBlock.gif ExpandedBlockStart.gif
None.gif    <connectionStrings>
None.gif        
<add    name="AdventureWorks Connection"
None.gif               providerName
="System.Data.SqlClient"
None.gif               connectionString
="server=.;database=AdventureWorks;uid=AX;pwd=Ax"  />
None.gif
None.gif        
<add name="ConnStr1" 
None.gif             connectionString
="LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb"
None.gif            providerName
="System.Data.SqlClient" />
None.gif
None.gif    
</connectionStrings>


②现在我们怎么使用这个节点上的连接呢?网上没搜到,查了半天MSDN才摸索出来,献给大家了!
ContractedBlock.gif ExpandedBlockStart.gif
None.gifusing System;
None.gif
using System.Data;
None.gif
using System.Data.SqlClient;
None.gif
using System.Configuration;
None.gif
using System.Web;
None.gif
using System.Web.Security;
None.gif
using System.Web.UI;
None.gif
using System.Web.UI.WebControls;
None.gif
using System.Web.UI.WebControls.WebParts;
None.gif
using System.Web.UI.HtmlControls;
None.gif
None.gif
public partial class _Default : System.Web.UI.Page 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
protected void Page_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
// Create the connection string name. 
InBlock.gif        
//找的就是这句话,s的值为:server=.;database=AdventureWorks;uid=AX;pwd=Ax
InBlock.gif
        string s = System.Configuration.ConfigurationManager.ConnectionStrings["AdventureWorks Connection"].ToString();
InBlock.gif        
//下面测试是否能够操作数据库
InBlock.gif
        SqlConnection con = new SqlConnection(s);        
InBlock.gif        SqlCommand cmd 
= new SqlCommand("select count(*) from Production.product",con);
InBlock.gif        con.Open();
InBlock.gif        
string ss=cmd.ExecuteScalar().ToString();
InBlock.gif        con.Close();
InBlock.gif        Response.Write(ss);
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

【注】:SQL2005的schema把俺给坑了一把,刚开始查询语句没有带schema,【select count(*) from product】结果出现异常.后发现SQL2005的schema特性很有意思.可以与role配合来设定role对某数据库中表的访问权限.
系统默认的schema为dbo,如果你不改默认的schema,在就必须在非dbo的schema表上加上schema,即schema+表名=确定一个表.(一个数据库可以有两个相同的表,但它们的schema不同)如果你把默认的schema改为Production,则【select count(*) from product】语句会执行成功!(No Recommend)

博客园   →   斧头帮少帮主

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值