using System;
using System.Data;
using System.Data.SqlClient;namespace connection
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public static string aa="成功";
public void conn()
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
SqlDataAdapter Da = new SqlDataAdapter("select * from teacher",conn);
DataSet Ds = new DataSet();
Da.Fill(Ds,"teacher");
//
// TODO: 在此处添加构造函数逻辑
//
}
}
}封装在一个connection.dll文件里面然后我在另一个页面调用
private void Page_Load(object sender, System.EventArgs e)
{

Class1 cc = new Class1();
cc.conn();
DataGrid1.DataSource = Ds.Tables[0];
DataGrid1.DataBind();


// 在此处放置用户代码以初始化页面
}
他就说Ds缺少命名空间也就是说Ds.Tables[0];里面的Ds他不认识。我已经把哪个弄到dll文件里面了,请问各位大哥我该怎么调用dll里面的~~这个

解决方案 »

  1.   


    1、在项目中添加程序集引用:引用此connection.dll2、在页面中添加命名空间引用:using connection;
      

  2.   

    它是找不到封装在dll 里面的 dataset 对象。
      

  3.   


    仔细看了一下代码,完全晕了~DS它肯定不认识啊~~呵呵
    你这样吧,把你的connection重新改一下,添加一个方法,返回一个dataset,然后在页面中实例化connection对象,调用这个方法,接收返回的dataset即可
      

  4.   

    你这个写的就有些问题,这样
    public class Class1
    {
    public static string aa="成功";
                     public DataSet ds;
                   //注意这里
    public void conn()
    {
    SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
    SqlDataAdapter Da = new SqlDataAdapter("select * from teacher",conn);
    Ds = new DataSet();
    Da.Fill(Ds,"teacher");
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    }
    }调用
    private void Page_Load(object sender, System.EventArgs e)
    {

    Class1 cc = new Class1();
    cc.conn();
    DataGrid1.DataSource = cc.Ds.Tables[0];
    DataGrid1.DataBind();


    // 在此处放置用户代码以初始化页面
    }
      

  5.   


    给你个例子:using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;namespace Directory
    {
    /// <summary>
    /// SQLDBIO 的摘要说明。
    /// </summary>
    public class SQLDBIO
    {
    //从Web.Config文件中读取数据库连接字符串
    string strConn=ConfigurationSettings.AppSettings["strConn"];

    public DataSet getDS(string strSQL)
    {
    DataSet objDS=new DataSet();
    SqlConnection objConn=new SqlConnection(strConn);
    SqlDataAdapter objDA=new SqlDataAdapter(strSQL,objConn); objDA.Fill(objDS);
    return objDS;
    }
    }
    }
      

  6.   

    不行啊~~~
    我就是想用封装在dll里面的 dataset 对象 谁有这样的例子。。发一下
    [email protected]  不胜感激。
      

  7.   

    fphuang 你说的哪个方法~~~不行也“/teacher”应用程序中的服务器错误。
    --------------------------------------------------------------------------------未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 26:  Class1 cc = new Class1();
    行 27:  cc.conn();
    行 28:  DataGrid1.DataSource = cc.ds.Tables[0];
    行 29: 
    行 30:  DataGrid1.DataBind();
     
      

  8.   

    晕,什么程序,根本不靠谱嘛。
    你Ds在那个类的conn方法里定义的,你方法又没有返回值,你在这怎么可能取的到
      

  9.   

    呵呵 谢谢各位大哥 我成功。。非常感谢fphuang(人在哈尔滨
      

  10.   

    DataSet Ds = new DataSet();你是定义在public void conn()
    方法的局部变量,当然找不到
      

  11.   

    public DataSet conn()
    {
    SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
    SqlDataAdapter Da = new SqlDataAdapter("select * from teacher",conn);
    DataSet Ds = new DataSet();
    Da.Fill(Ds,"teacher");
             return Ds;
    }调用时候:
    Class1 cc = new Class1();
    DataSet Ds = cc.conn();
    DataGrid1.DataSource = Ds.Tables[0];
    DataGrid1.DataBind();
      

  12.   

    namspace connection
    {
       public class DS
       {
         private static Table[] m_Tables = null;
         public static Table[] Tables 
        {
          get{ return m_Tables; }
          set{ m_Tables = value; }
        }
      }
    }
      

  13.   

    不好意思,上面的 public static Table[] Tables 改为 public Table[] Tables 
      

  14.   

    基础错误,这个问题本身已经解决了。建议楼主看看http://chs.gotdotnet.com/quickstart/aspplus/