using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace ClassLibrary2
{
    public class AccessData
    {
        
 public static string login_ID="";
        public static string login_Name="";        public static OleDbConnection My_con;        public AccessData()
        {
            throw new System.NotImplementedException();
        }        public static OleDbConnection getcon(string coninfo)
        {
            My_con = new OleDbConnection(coninfo);
            My_con.Open();
            return My_con;
        }        public static void con_close()
        {
            if (My_con.State == ConnectionState.Open)
            {
                My_con.Close();
                My_con.Dispose();
            }
        }        public static OleDbDataReader getDaRe(string sqlstr)
        {
            OleDbCommand my_com = My_con.CreateCommand();
            my_com.CommandText = sqlstr;
            OleDbDataReader my_read = my_com.ExecuteReader();
            return my_read;
        }        public static void ExSql(string sqlstr)
        {
            OleDbCommand my_com = My_con.CreateCommand();
            my_com.CommandText = sqlstr;
            my_com.ExecuteNonQuery();
            my_com.Dispose();
        }        public static DataSet getDataSet(string sqlstr,string tablename)
        {
            OleDbDataAdapter sqlda = new OleDbDataAdapter(sqlstr, My_con);
            DataSet my_dataset = new DataSet();
            sqlda.Fill(my_dataset, tablename);
            return my_dataset;
        }
    }
}这是一个dll文件
我为什么必须声明static,如果不声明,就不能从程序中调用

解决方案 »

  1.   

     晕~~~你加了STATIC表示是静太的只能是类来访问,你这个构造函数又是定义了错误,无法创建实例,只能从类访问了。
      

  2.   

    你把  public AccessData() 
            { 
                throw new System.NotImplementedException(); 
            } 
    去掉,再去掉全部的STATIC就可以用用实例访问了
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.OleDb;
    namespace ClassLibrary2
    {
        public class AccessData
        {
            //public static string login_ID="";
            //public static string login_Name="";
            private string login_ID="";
            private string login_Name="";
            //public static OleDbConnection My_con;
            private OleDbConnection My_con;        public AccessData(string loginID,string loginName)
            {
                //throw new System.NotImplementedException();
                login_ID = loginID;
                login_Name = loginName;
            }        public OleDbConnection getcon(string coninfo)
            {
                My_con = new OleDbConnection(coninfo);
                My_con.Open();
                return My_con;
            }        public void con_close()
            {
                if (My_con.State == ConnectionState.Open)
                {
                    My_con.Close();
                    My_con.Dispose();
                }
            }        public OleDbDataReader getDaRe(string sqlstr)
            {
                OleDbCommand my_com = My_con.CreateCommand();
                my_com.CommandText = sqlstr;
                OleDbDataReader my_read = my_com.ExecuteReader();
                return my_read;
            }        public void ExSql(string sqlstr)
            {
                OleDbCommand my_com = My_con.CreateCommand();
                my_com.CommandText = sqlstr;
                my_com.ExecuteNonQuery();
                my_com.Dispose();
            }        public DataSet getDataSet(string sqlstr,string tablename)
            {
                OleDbDataAdapter sqlda = new OleDbDataAdapter(sqlstr, My_con);
                DataSet my_dataset = new DataSet();
                sqlda.Fill(my_dataset, tablename);
                return my_dataset;
            }
        }
    }
      

  4.   

    在NET框架内,如果你写的类没有用关键字static,访问这个类时,就需要实例化这个类的对象来访问这个类的成员方法及变量等,如果你写的类用关键字static,进而你声明的类是一个静态的类,不需要实例化类的对象,而直接用类名来访问这个类的成员方法及变量
      

  5.   

    用static没有什么问题,sqlhelper的类都是static
      

  6.   

    看来LZ没有认真学习过C#的入门知识,
    建议回去看看MSDN,了解一下静态成员和实例成员的内容。