asp.net数据库连接类

asp教程.net数据库教程连接类
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>asp.net教程数据库连接类</title>
</head>
<body>
private SqlCommand CreateCommand(string ProcName, SqlParameter[] Prams)
  {
  Open();
  SqlCommand Cmd = new SqlCommand(ProcName, Connection);
  Cmd.CommandType = CommandType.StoredProcedure;

  if (Prams != null)
  {
  foreach (SqlParameter Parameter in Prams)
  Cmd.Parameters.Add(Parameter);
  }

  return Cmd;
  }

  //公有方法,实例化一个用于调用存储过程的参数
  //输入:
  // ParamName - 参数名称
  // DbType - 参数类型
  // Size - 参数大小
  // Direction - 传递方向
  // Value - 值
  public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
  {
  SqlParameter Param;

  if (Size > 0)
  Param = new SqlParameter(ParamName, DbType, Size);
  else Param = new SqlParameter(ParamName, DbType);

  Param.Direction = Direction;

  if (Value != null)
  Param.Value = Value;

  return Param;
  }

  //公有方法,实例化一个用于调用存储过程的输入参数
  //输入:
  // ParamName - 参数名称
  // DbType - 参数类型
  // Size - 参数大小
  // Value - 值
  public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
  {
  return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
  }

  //公有方法,调用存储过程(不带参数)
  //输入:
  // ProcName存储过程名
  //输出:
  // 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
  public int RunProc(string ProcName)
  {
  int Count = -1;
  SqlCommand Cmd = CreateCommand(ProcName, null);
  Count = Cmd.ExecuteNonQuery();
  Close();
  return Count;
  }

  //公有方法,调用存储过程(带参数)
  //输入:
  // ProcName - 存储过程名
  // Params - 用来调用存储过程的参数表
  //输出:
  // 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
  public int RunProc(string ProcName, SqlParameter[] Params)
  {
  int Count = -1;
  SqlCommand Cmd = CreateCommand(ProcName, Params);
  Count = Cmd.ExecuteNonQuery();
  Close();
  return Count;
  }

  //公有方法,调用存储过程(不带参数)
  //输入:
  // ProcName存储过程名
  //输出:
  // 将执行结果以SqlDataReader返回
  //注意:使用后主意调用SqlDataReader.Close()方法
  public SqlDataReader RunProcGetReader(string ProcName)
  {
  SqlCommand Cmd = CreateCommand(ProcName, null);
  return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
  }

  //公有方法,调用存储过程(不带参数)
  //输入:
  // ProcName存储过程名
  //输出:
  // 将执行结果以SqlDataReader返回
  //注意:使用后主意调用SqlDataReader.Close()方法
  public string RunProcGetScalar(string ProcName, SqlParameter[] Params)
  {
  SqlCommand Cmd = CreateCommand(ProcName, Params);
  //SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
  //DataSet dataset = new DataSet();
  //adapter.Fill(dataset);
  //Close();
  //return dataset;
  return Convert.ToString(Cmd.ExecuteScalar());
   
  }
  //公有方法,调用存储过程(带参数)
  //输入:
  // ProcName - 存储过程名
  // Params - 存储过程需要的参数
  //输出:
  // 将执行结果以SqlDataReader返回
  //注意:使用后主意调用SqlDataReader.Close()方法
  public SqlDataReader RunProcGetReader(string ProcName, SqlParameter[] Params)
  {
  SqlCommand Cmd = CreateCommand(ProcName, Params);
  return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
   
  }

  //公有方法,调用存储过程(带参数)
  //输入:
  // ProcName - 存储过程名
  // Params - 存储过程需要的参数
  //输出:
  // 将执行结果以SqlDataReader返回
  //注意:使用后主意调用SqlDataReader.Close()方法
  public int RunProcGetCount(string ProcName, SqlParameter[] Params)
  {
  SqlCommand Cmd = CreateCommand(ProcName, Params);
  string SCount;
  SCount = Cmd.ExecuteScalar().ToString().Trim();
  if (SCount == "")
  SCount = "0";
  Close();
  return Convert.ToInt32(SCount);
  }

   
  //公有方法,调用存储过程(不带参数)
  //输入:
  // ProcName存储过程名
  //输出:
  // 将执行结果以DataSet返回  
  public DataSet GetDataSet(string ProcName, SqlParameter[] Params)
  {
  //Open();
  SqlCommand Cmd = CreateCommand(ProcName, Params);
  SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
  DataSet dataset = new DataSet();
  adapter.Fill(dataset);
  Close();
  return dataset;
  }
  //公有方法,根据Sql语句,返回一个结果数据集
  public DataSet GetDataSetSql(string XSqlString)
  {
  Open();
  SqlDataAdapter Adapter = new SqlDataAdapter(XSqlString, Connection);
  DataSet Ds = new DataSet();
  Adapter.Fill(Ds);
  Close();
  return Ds;
  }
  //公有方法,根据Sql语句,插入记录
  public int Insert(string XSqlString)
  {
  int Count = -1;
  Open();
  SqlCommand cmd = new SqlCommand(XSqlString, Connection);
  Count = cmd.ExecuteNonQuery();
  Close();
  return Count;
  }
  //公有方法,根据Sql语句,插入记录并返回生成的ID号
  public int GetIDInsert(string XSqlString)
  {
  int Count = -1;
  Open();
  SqlCommand cmd = new SqlCommand(XSqlString, Connection);
  Count = int.Parse(cmd.ExecuteScalar().ToString().Trim());
  Close();
  return Count;
  }
}
}
</body>
</html>

数据库连接类二

public bool GetRecord(string XSqlString)
  {
  Open();
  SqlDataAdapter adapter = new SqlDataAdapter(XSqlString, Connection);
  DataSet dataset = new DataSet();
  adapter.Fill(dataset);
  Close();

  if (dataset.Tables[0].Rows.Count > 0)
  {
  return true;
  }
  else
  {
  return false;
  }
  }

  //公有方法,返回Sql语句获得的数据值
  //SqlString的格式:select count(*) from XXX where ...
  // select max(XXX) from YYY where ...
  public int GetRecordCount(string XSqlString)
  {
  string SCount;

  Open();
  SqlCommand Cmd = new SqlCommand(XSqlString, Connection);
  SCount = Cmd.ExecuteScalar().ToString().Trim();
  if (SCount == "")
  SCount = "0";
  Close();
  return Convert.ToInt32(SCount);
  }

  //公有方法,根据XWhere更新数据表XTableName中的某些纪录
  //XTableName--表名
  //XHT--哈希表,键为字段名,值为字段值
  public DataSet AdvancedSearch(string XTableName, Hashtable XHT)
  {
  int Count = 0;

  string Fields = "";
  foreach (DictionaryEntry Item in XHT)
  {
  if (Count != 0)
  {
  Fields += " and ";
  }
  Fields += Item.Key.ToString();
  Fields += " like '%";
  Fields += Item.Value.ToString();
  Fields += "%'";
  Count++;
  }
  Fields += " ";

  string SqlString = "select * from " + XTableName + " where " + Fields;
  Open();
  SqlDataAdapter Adapter = new SqlDataAdapter(SqlString, Connection);
  DataSet Ds = new DataSet();
  Adapter.Fill(Ds);
  Close();
  return Ds;

  }

  //私有方法,获得一个用来调用存储过程的SqlCommand
  //输入:
  // ProcName - 存储过程名
  // Params - 用来调用存储过程的参数表

支持同一种数据库中的不同数据库名(如SQL Server中的两个数据库:Test1,Test2)
public static class DBHelper
{
  public static connString="连接一";
  public static DataSet Query(string sql)
  {
  .................
  return ds;
  }
  .................
}

public class DBHelperA
{
  public connString = "连接二";
  public DataSet Query(string sql)
  {
  .................
  return ds;
  }
  .................
}

时间: 2024-08-23 18:08:02

asp.net数据库连接类的相关文章

三种asp.net数据库连接类

连接sqlserver数据库  代码如下 复制代码 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.We

asp 简单数据库连接类

Class Cls_DB  Private ConnStr  Private DBpath,DBLink,DBi  ==============================  函 数 名:DB_Conn  作    用:数据库连接函数  参    数:  ==============================  Private Sub DB_Conn()   On Error Resume Next   Set Conn = Server.CreateObject("Adodb.Con

asp.net 数据库连接类代码(SQL)_实用技巧

复制代码 代码如下: public class SqlOperation { #region 属性 /// <summary> /// 保存在Web.config中的连接字符串 /// </summary> protected static string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["hao"].ConnectionString; /

ASP的数据库类

数据|数据库 ASP的数据库类 一.前言 提到ASP操作数据库,大多数人会想到:共用的连接字串ConStr.Conn.Open ConStr建立数据库连接.Conn.Execute SqlCmd方式执行命令.RecordSet.Open Sql,Conn,1,1取得记录集,的确这种方法被99%的人或公司采用.对于操作数据库过程中产生的错误,恐怕99%的人不会进行处理,要么在程序的开头加入on error resume next"轻松"跳过去.要么让错误信息连同错误代码一同"暴

ASP经典分页类_应用技巧

ASP经典分页类  出处      '===================================================================== 'XDOWNPAGE   ASP版本 '版本   1.00 'Code by  zykj2000 'Email:   zykj_2000@163.net 'BBS:   http://bbs.513soft.net '本程序可以免费使用.修改,希望我的程序能为您的工作带来方便 '但请保留以上请息 ' '程序特点 '本程序

发一个ASP的ADODB类代码_ASP CLASS类

反正我现在用这个做了很多站,自己觉得还是满有用的,所以拿出来和大家分享一下.支持三种数据库连接:MSSQL2000,MSSQL2005,ACCESS 三种方法: select_table(sql) 表查询,返回TRUE或FALSE 当SQL语句出错,或空记录时返回FALSE,否则TRUE update_table(SQL) 表更新,包括update,delete 成功执行返回TRUE,否则返回FALSE,updated为执行后影响记录行数. insert_table(sql,table,id_c

ASP.NET 数据库连接方式

ASP.NET 数据库连接方式 ADO.NET是什么? ADO.NET是一个组成部分. NET框架 ADO.NET是由一组类用于处理数据存取 ADO.NET是完全基于XML ADO.NET也不同,使用ADO ,没有Recordset对象 创建一个数据库连接 我们将使用Northwind数据库的例子. 首先,进口的" System.Data.OleDb "命名空间.我们需要这种命名与微软Access和其他的OLE DB数据库供应商.我们将创建连接到数据库,在Page_Load子程序.我们

ASP实例代码:asp操作Excel类

asp操作Excel类: <%'*******************************************************************'使用说明'Dim a'Set a=new CreateExcel'a.SavePath="x" '保存路径'a.SheetName="工作簿名称"       '多个工作表 a.SheetName=array("工作簿名称一","工作簿名称二")'a.Sh

关于ASP的(VBScript)类

vbscript 首先ASP的(VBScript)类是由事件和方法(它们就是构成类的成员了)构成的,如果大家还没有接触过,可以先看看下面的说明(哈哈,我是现学现卖,说得不好请见谅) 在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,只能在类内部调用) 或 Public(公有成员,可以在类内外部调用) .被声明为 Private 的将只在 Class 块内是可见的.被声明为 Public 不仅在 Class 块的内部是可见的,对 Class 块之外的代码也是可见的.没