我以前用ASP.NET编写 用的是SQL数据库 代码是这样的
 private DataSet myds;
        private DataTable mytb;
        private SqlDataAdapter myAdapter;
        private SqlConnection _SConn;
        //private SqlDataAdapter da;
        private DataSet dss = new DataSet();
        public SqlConnection SConn
        {
            get { return _SConn; }
            set { _SConn = value; }
        }
        #region 打开关闭连接 Open(),Close()
        /// <summary>
        /// 打开数据库连接
        /// </summary>
        public void Open()
        {
            if (_SConn.State == ConnectionState.Closed)
                _SConn.Open();
        }        /// <summary>
        /// 关闭数据库连接
        /// </summary>
        public void Close()
        {
            if (_SConn.State == ConnectionState.Open)
            {
                _SConn.Close();
                _SConn.Dispose();
            }
        }
        #endregion而现在我们毕业设计要求用ACCESS数据库,如果我也想做这样个链接该怎么写?对了 首先我的前提是 基于桌面的 ,毕业设计要求写基于桌面的,先谢谢大家了。。

解决方案 »

  1.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据源;Jet OLEDB:Database Password=密码另外,你的SqlConnection 要换成 OleDbConnection 
      

  2.   

    也就是这样创建数据库联接://连接串
    string szConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据源;Jet OLEDB:Database Password=密码";//创建连接,并打开
    OleDbConnection conn = new OleDbConnection(szConnStr);
    conn.Open();//执行一个SQL
    OleDbCommand cmd = OleDbCommand();
    cmd.Connection = conn;
    cmd.Execu.......;//关闭连接
    conn.Close();
      

  3.   

    上面“数据源”要替换成你的Access文件的全路径如果没有密码,要去掉连接串中的这一部分:“Database Password=密码”
      

  4.   

    不论基于什么,连接串都是不变的。给你介绍个关于连接串的牛B网站:http://www.connectionstrings.com/
      

  5.   

    搂主是Access数据库,所以建议使用OleDb空间下面的对象当然,也可以使用其它ADO.NET对象,或者第三方的都行
      

  6.   

    不能使用绝对路径,你的程序是要拿到用户机器上运行的,使用相对路径下面是访问和exe目录下的Access的mdb文件:
    string szConStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\文件名.mdb", Application.StartupPath);
      

  7.   

     private string strConnection = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\DebetContrl.mdb", Application.StartupPath);
            private OleDbDataAdapter myAdapter;
            private DataSet myds;
            private DataTable mytb;
            private DataSet dss = new DataSet();
            OleDbConnection _SConn=new OleDbConnection(strConnection);
                    //这里是相对路径
            
            public OleDbConnection SConn
            {            get { return _SConn; }
                set { _SConn = value; }
            }
            #region 打开关闭连接 Open(),Close()
            /// <summary>
            /// 打开数据库连接
            /// </summary>
            public void Open()
            {
                if (_SConn.State == ConnectionState.Closed)
                    _SConn.Open();
            }        /// <summary>
            /// 关闭数据库连接
            /// </summary>
            public void Close()
            {
                if (_SConn.State == ConnectionState.Open)
                {
                    _SConn.Close();
                    _SConn.Dispose();
                }
            }
            #endregion

    我现在这这样写对么
      

  8.   

    基本上是对的,但有个问题:你这这个连接对象_SConn只能使用一次,因为你在关闭后把他释放掉了
    如果你在Close里把他释放掉了,那么也要修改Open函数:
            public void Open() 
            { 
               _SConn =new OleDbConnection(strConnection); 
                if (_SConn.State == ConnectionState.Closed) 
                    _SConn.Open(); 
            } 
      

  9.   

    参考
    http://www.cnblogs.com/hownet/archive/2007/11/06/951332.html
    http://www.cnblogs.com/jembai/archive/2008/10/29/1322121.html
    http://www.cnblogs.com/whitetiger/archive/2007/03/27/689620.html