日期:2014-05-18  浏览次数:21125 次

项目中如何使用sqlhelper
我仿造SQLHelper写了一个处理Access2003的类,程序中部分是象这样:
using System;
using System.Configuration;
using System.Data;
using System.Collections;

using System.Web;
using System.Data.OleDb;

namespace SQLHelper
{
  public abstract class AccessHelper
  {

  //Database connection strings
  public static readonly string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
  System.Web.HttpContext.Current.Server.MapPath("../data/HJDB.mdb");
   
  // Hashtable to store cached parameters
  private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());

  public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
  {
  OleDbCommand cmd = new OleDbCommand();

  using (OleDbConnection conn = new OleDbConnection(connectionString))
  {
  PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);

  int val = cmd.ExecuteNonQuery();
  cmd.Parameters.Clear();
  return val;
  }
  }
。。。。。。。下面当然还有其他方法,我把这个编译为一个AccessHelper.dll了,

然后,新建了一个网站项目,在新项目中引用了上面的AccessHelper.dll,
但是,在新项目的程序中,或者类程序中,却不能象下面这样使用其中的方法:
#using SQLHelper

....
  AccessHelper.ExecuteNonQuery(.....); //在这里报错说是AccessHelper没有ExecuteNonQuery这个属性
请问这是什么原因呢?

------解决方案--------------------
public abstract class AccessHelper

------解决方案--------------------
你不应该写#符号。

------解决方案--------------------
using SQLHelper

不是#using SQLHelper


------解决方案--------------------
探讨
using SQLHelper

不是#using SQLHelper

------解决方案--------------------
#using SQLHelper

错了

最好将SqlHelper做成类库直接引用
------解决方案--------------------
public abstract class AccessHelper

这里的abstract 要去掉

SQLHelper.AccessHelper.ExecuteNonQuery(参数)就可以了