日期:2014-05-17  浏览次数:20804 次

C#连接access数据库时转换出错!
 string Path=System.Windows.Forms.Application.StartupPath + @"\\EBalance.mdb";
            OleDbConnection con;
            con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path);
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            #endregion
            #region
            ///判断某个数据表是否存在

            if (GetTables(con, DataName))  //表存在
            {
                ;
            }
            else  //表不存在
            {
                               //con.Close();
                //MessageBox.Show(Path);
                ADOX.CatalogClass cat = new ADOX.CatalogClass();

                //cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path;//这里出错了
                cat.ActiveConnection = con;//这里出错了

                ADOX.TableClass tbl = new ADOX.TableClass();
                tbl.ParentCatalog = cat;
                tbl.Name = DataName;

我在连接access数据库时,类型转换出错了。在:cat.ActiveConnection = con;这句提示错误:指定的转换无效。求各位大虾指教指教改赋什么值给 cat.ActiveConnection 呢,本人第一次使用C#连接数据库。
access c# 数据库 string

------解决方案--------------------
为什么要用Adox?多古董的东西啊,这两个类型不能相互转换
都用OleDbConnection不行吗?
------解决方案--------------------
乖乖用OleDbConnection,后面你再折腾
------解决方案--------------------
估计是类型不匹配