数据库类,
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.OleDb;
//using System.Data.SqlClient;/// <summary>
///WebData 的摘要说明
/// </summary>
public class WebData
{ public WebData()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 执行Sql查询语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string sqlstr)
{
using(OleDbConnection conn=new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(sqlstr, conn))
{
try
{
conn.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
}
}
/// <summary>
/// 执行Sql更新语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>布尔值</returns>
public static int ExecuteUpdate(string sqlstr)
{
using(OleDbConnection conn=new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(sqlstr, conn))
{
try
{
conn.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
} } /// <summary>
/// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接
/// 方法关闭数据库连接
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>SqlDataReader对象</returns>
public static OleDbDataReader dataReader(string sqlstr)
{
OleDbDataReader dr=null; OleDbConnection conn = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
try
{
conn.Open();
dr = cmd.ExecuteReader();
return dr;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
///<summary>
///关闭datareader
///传入SqlDataReader的ref
///</summary>
//public static void closeDataReader(ref OleDbDataReader dr)
//{
// try
// {
// dr.Close();
// dr.Dispose();
// }
// catch (System.Data.OleDb.OleDbException e)
// {
// dr.Close();
// dr.Dispose();
// }
//}
后台代码:
[AjaxPro.AjaxMethod]
public string returns(string s1,string s2,string s3)
{
string ma = Session["CheckCode"].ToString().ToLower();
string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s2, "MD5"); string sqls = "SELECT User_name, User_PassWord FROM Hover_Admin WHERE User_name = '" + s1 + "' AND User_PassWord = '" + EnPswdStr.Trim() + "'";
OleDbDataReader red = WebData.dataReader(sqls); if (red.Read())
{
if (s3.ToLower() != ma)
{
return s3 = "dd";
}
mycookie.SaveCookie("UserName", s1, 2);
mycookie.SaveCookieC("Online", "True|" + s1, 2);
return s1 = "true";
//return s1 = red["User_name"].ToString(); //red.Close();
//red.Dispose();
//WebData.closeDataReader(ref red); }
else
{
return s2 = "false";
}
}
阅读器关闭时尝试调用 Read 无效
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.OleDb;
//using System.Data.SqlClient;/// <summary>
///WebData 的摘要说明
/// </summary>
public class WebData
{ public WebData()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 执行Sql查询语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string sqlstr)
{
using(OleDbConnection conn=new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(sqlstr, conn))
{
try
{
conn.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
}
}
/// <summary>
/// 执行Sql更新语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>布尔值</returns>
public static int ExecuteUpdate(string sqlstr)
{
using(OleDbConnection conn=new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(sqlstr, conn))
{
try
{
conn.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
} } /// <summary>
/// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接
/// 方法关闭数据库连接
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>SqlDataReader对象</returns>
public static OleDbDataReader dataReader(string sqlstr)
{
OleDbDataReader dr=null; OleDbConnection conn = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
try
{
conn.Open();
dr = cmd.ExecuteReader();
return dr;
}
catch (System.Data.OleDb.OleDbException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
///<summary>
///关闭datareader
///传入SqlDataReader的ref
///</summary>
//public static void closeDataReader(ref OleDbDataReader dr)
//{
// try
// {
// dr.Close();
// dr.Dispose();
// }
// catch (System.Data.OleDb.OleDbException e)
// {
// dr.Close();
// dr.Dispose();
// }
//}
后台代码:
[AjaxPro.AjaxMethod]
public string returns(string s1,string s2,string s3)
{
string ma = Session["CheckCode"].ToString().ToLower();
string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s2, "MD5"); string sqls = "SELECT User_name, User_PassWord FROM Hover_Admin WHERE User_name = '" + s1 + "' AND User_PassWord = '" + EnPswdStr.Trim() + "'";
OleDbDataReader red = WebData.dataReader(sqls); if (red.Read())
{
if (s3.ToLower() != ma)
{
return s3 = "dd";
}
mycookie.SaveCookie("UserName", s1, 2);
mycookie.SaveCookieC("Online", "True|" + s1, 2);
return s1 = "true";
//return s1 = red["User_name"].ToString(); //red.Close();
//red.Dispose();
//WebData.closeDataReader(ref red); }
else
{
return s2 = "false";
}
}
阅读器关闭时尝试调用 Read 无效
解决方案 »
- repeater事件 OnItemCommand不执行???帮我看看
- sql 连续一个接一个查10个怎么查最优
- 3道面试踢,来看看自己的水平?
- 新人 asp.net连接sql2000老实不能连接!!!!
- 获取页面内容
- ColorSelector控件在win7中弹不出颜色选择窗口并出错!
- 在线等,急!用objectDataSource在怎样得到返回值?
- 怎么让DataGrid单元格显示一个百分数出来
- 关于 showModalDialog
- DataGrid xml绑定
- 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
- datagrid绑定的数据,第一列是模板列,放置复选框,当用户选中多行记录,怎样通过点击按钮把选中的行的id传到一个新打开的页面?谢谢
{
conn.Open();
dr = cmd.ExecuteReader();
return dr;
} 楼主,你仔细看看什么是DataReader吧
DataReader相当于一个只能向前的读取器,在读取的时候你不能conn.close()
因此,一般的做法是返回一个IList
只要打開了reader就必須關閉,否則打開conn連接也會報錯。
{
OleDbDataReader dr=null; OleDbConnection conn = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["webtest"].ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
try
{
conn.Open();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
catch
{
if (dr != null)
{
dr.Close();
}
throw;
}
}