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