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应用程序从各种数据源中快速访问数据。