首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DBHelper 使用有关问题

2012-09-11 
DBHelper 使用问题新手,莫见笑。我想 用dbhelper 实现操作数据库的类,然后default页面调用这个类webconfig

DBHelper 使用问题
新手,莫见笑。我想 用dbhelper 实现操作数据库的类,然后default页面调用这个类 
webconfig 代码 是  
  <appSettings/>
  <connectionStrings>
  <add name="NorthwindConnectionString" connectionString="server=.;DataBase=xin;uid=sa;pwd=123;" providerName="System.Data.SqlClient" />
  </connectionStrings>


dbhelper的代码是从别人项目里直接粘贴过来的,dbhelper的代码太长,我删除掉了后面的一部分。我不知道怎么使用

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Data.Common;


namespace SQLServerDAL
{
  /// <summary>
  /// 用来创建DataBase对象的静态类
  /// </summary>
  public static class DBHelper
  {
  public static DataBase CreateData(string DataNameInConfigfile)
  {
  string pn = ConfigurationManager.ConnectionStrings[DataNameInConfigfile].ProviderName; //读取配置文件
  string cs = ConfigurationManager.ConnectionStrings[DataNameInConfigfile].ConnectionString;

  //下面判断数据库类型并创建相应的对象

  if (pn.ToUpper().Contains("OLEDB"))
  {
  OleDbDataAdapter oledbda = new OleDbDataAdapter();
  oledbda.SelectCommand = new OleDbCommand();
  oledbda.SelectCommand.Connection = new OleDbConnection(cs);
  return new DataBase(oledbda);
  }
  if (pn.ToUpper().Contains("SQL"))
  {
  SqlDataAdapter sqlda = new SqlDataAdapter();
  sqlda.SelectCommand = new SqlCommand();
  sqlda.SelectCommand.Connection = new SqlConnection(cs);
  return new DataBase(sqlda);
  }
  if (pn.ToUpper().Contains("ODBC"))
  {
  OdbcDataAdapter odbcda = new OdbcDataAdapter();
  odbcda.SelectCommand = new OdbcCommand();
  odbcda.SelectCommand.Connection = new OdbcConnection(cs);
  return new DataBase(odbcda);
  }
  return null;
  }

  public static DataBase CreateData(string ConnectionString, string ProviderName)
  {
  //以下判断数据库类型并创建相应的对象
  if (ProviderName.ToUpper().Contains("OLEDB"))
  {
  OleDbDataAdapter oledbda = new OleDbDataAdapter();
  oledbda.SelectCommand = new OleDbCommand();
  oledbda.SelectCommand.Connection = new OleDbConnection(ConnectionString);
  return new DataBase(oledbda);
  }
  if (ProviderName.ToUpper().Contains("SQL"))
  {
  SqlDataAdapter sqlda = new SqlDataAdapter();
  sqlda.SelectCommand = new SqlCommand();
  sqlda.SelectCommand.Connection = new SqlConnection(ConnectionString);
  return new DataBase(sqlda);
  }
  if (ProviderName.ToUpper().Contains("ODBC"))
  {
  OdbcDataAdapter odbcda = new OdbcDataAdapter();
  odbcda.SelectCommand = new OdbcCommand();
  odbcda.SelectCommand.Connection = new OdbcConnection(ConnectionString);
  return new DataBase(odbcda);
  }
  return null;


  }
  }



  /// <summary>
  /// 执行主要操作的类
  /// </summary>
  public class DataBase
  {
  private DbDataAdapter mDataAdapter; //指向传入的DbDataAdapter的引用
  private DbCommand mCommand; //指向传入的DbDataAdapter.SelectCommand的引用

  /// <summary>
  /// 构造函数
  /// </summary>
  /// <param name="DDA">获得一个实例化了的DbDataAdapter的派生类</param>
  public DataBase(DbDataAdapter DDA)
  {
  mDataAdapter = DDA;
  mCommand = DDA.SelectCommand;
  }

  /// <summary>
  /// 判断一个stirng是否为储存过程
  /// </summary>
  /// <param name="SQLText">目标string</param>
  /// <returns>返回是否为储存过程的调用</returns>
   
  /// <summary>
  /// 执行数据库命令返回受影响的行数
  /// </summary>
  /// <param name="SQLText">SQL语句</param>
  /// <returns>受影响的行数</returns>
   
  /// <summary>
  /// 执行数据库命令返回DataReader
  /// </summary>
  /// <param name="SQLText">SQL命令</param>
  /// <returns>返回DataReader</returns>
   
  /// <summary>
  /// 执行统计的方法
  /// </summary>
  /// <param name="SQLText">SQL命令</param>
  /// <returns>返回object对象代表统计数据或者结果的第一列第一行</returns>
   
  /// <summary>
  /// 执行查询返回填充的DataSet对象
  /// </summary>
  /// <param name="SQLText">SQl命令</param>
  /// <param name="VisualTableName">虚拟表名</param>
  /// <param name="StartIndex">制定返回多少行以后的数据</param>
  /// <param name="Count">制定总共返回多少行</param>
  /// <returns>返回按要求填充了的DataSet</returns>
  //下面为重载调用,不包含实际代码
   
  /// <summary>
  /// 添加一个参数
  /// </summary>
  /// <param name="ParameterName">参数的名称</param>
  /// <param name="Value">参数的值</param>
  /// <param name="Type">参数值的类型</param>
  /// <param name="Size">参数值的大小</param>
  /// <param name="Direction">参数的返回类型</param>
  /// <returns>返回添加后的参数对象DbParameter</returns>
  //下面为重载调用,不包含实际代码  
   


  /// <summary>
  /// 清除DbParameterCollection中所有DbParameter的引用
  /// </summary>
  public void ClearParameters()
  {
  mCommand.Parameters.Clear();
  }

  public DbParameterCollection Parameters
  {
  get { return mCommand.Parameters; }
  }

  public DbCommand Command
  {
  get { return mCommand; }
  }

  public DbDataAdapter DataAdapter
  {
  get { return mDataAdapter; }
  }

  }
}



然后我想在defalut页调用dbhelper  


using System;


using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace web
{
  public partial class _Default : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
  getBind();
  }
  private void getBind()
  {

  DBHelper db=new DBHelper();


   
  }
   
  }
}


提示我缺少 错误1找不到类型或命名空间名称“DBHelper”(是否缺少 using 指令或程序集引用?)G:\repeater2\repeater\web\Default.aspx.cs259web




[解决办法]
还需要在Reference..里对dll引用

热点排行