ASP.NET通过写SQL文直接访问Microsoft SQL Server 2005

在ASP.NET中不使用LINQ访问数据库,而是通过写SQL文直接访问Microsoft SQL Server 2005.

遇见的问题:

1.当前上下文中不存在名称 ConfigurationManager

2.执行”string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; “时报错“未将对象引用设置到对象的实例”

3.在执行“SqlDataReader sqldatareader =commd.ExecuteReader();”这句的时候提示 “ExecuteReader   要求已打开且可用的连接。连接的当前状态为已关闭 ”

对应得解决方法:

1.添加引用System.Configuration,并在程序中使用命名空间using System.Configuration。

2."ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString"中方括号中引号内的字符串和我的工程中web.config配置文件中<connectionStrings></connectionStrings>标记中的属性"name="MywebConnectionStrings""的字符串不一致。正确的应为属性name中的字符串。

3.没有打开数据库连接。因为我的程序中缺少l了"sqlcon.Open();”这句代码。 

 以下是通过执行得正确的代码: 

using System.Data.SqlClient;
using System.Configuration;
protected void SetOrders(sting mOrders)
{
string sqlconnstr = ConfigurationManager.ConnectionStrings["MywebConnectionStrings"].ConnectionString;
SqlConnection sqlcon = new SqlConnection(sqlconnstr);
SqlCommand commd = new SqlCommand();
commd.Connection = sqlcon;
sqlcon.Open();
commd.CommandText = "UPDATE OrderList SET status = 1 WHERE (OrderId IN (" + mPayingNum + ")"+")";
SqlDataReader sqldatareader = commd.ExecuteReader();
commd = null;
sqlcon.Close();
sqlcon = null;
}

ASP.NET应用程序的数据访问是通过ADO.NET完成的,ADO.NET可以使Web应用程序从各种数据源中快速访问数据。

posted @ 2011-04-15 22:27  慕容小北  阅读(530)  评论(0编辑  收藏  举报