几个窗体都是调用同一个表中的数据,每次都要添加一次连接,也就是说第个窗体中连接数据库的代码都是一样的,这样比较麻烦,请问有什么简单的方法没有,希望解答,谢谢!!!

解决方案 »

  1.   

    写个数据库连接的类。。然后要CON的时候,你定义一个类的实力调用就可以了。
      

  2.   

    Enterprise Library中的daab不错.
      

  3.   

    读到DataSet里,在窗体间本地互交,不是必要的情况尽量节约网络资源规范化编程可以考虑用类实现
      

  4.   

    覺得寫一個類比較好,所有的數據庫讀寫到那個類裡面實現,實現業務層與數據庫層脫離
    方法如下:
    在項目中增加一個.cs的文件
    然後加入類:
    public static OleDbConnection OleDbcon()
    {
    string constr="";
    OleDbConnection oraclecon=new OleDbConnection(constr);
    return OleDbcon;
    }
    然後讀寫數據庫時調用這個類就可以了.
      

  5.   

    谢谢解答,我在别的窗体中直接调用OleDbConnection OleDbcon()就可以了吗?
      

  6.   

    public static SqlConnection createConnection()
      {
        SqlConnection con=new SqlConnection("server=.;database=vote;uid=sa;pwd=;");
        return con;
        }
      

  7.   

    还可以再写多一点呢。比如写一个可以返回一个DataSet的方法。需要一个DataSet时,传入一个参数,得到的就是现成的DataSet了。
    /// <summary>
    /// DataSet操作快捷方式
    /// </summary>
    /// <param name="dbname">要操作的数据库名</param>
    /// <param name="todosql">要被执行的T-SQL语句</param>
    /// <param name="tablename">自定义DataSet中的自定义表名</param>
    /// <returns>DataSet</returns>
    public static DataSet UseDataSetEX(string dbname, string todosql, string tablename)
    {
    string source = "略";
    string sql = todosql;
    SqlConnection conn = new SqlConnection(source);
    SqlDataAdapter DataAdapter = new SqlDataAdapter(todosql,conn);
    DataSet objDataSet= new DataSet();
    DataTable dt = new DataTable(tablename);
    DataAdapter.Fill(dt);
    objDataSet.Tables.Add(dt);
    conn.Close();
    return objDataSet;
    }