在winform中实现ACCESS的数据导出导入
不知道应用什么方法
我是直接引用Microsoft.Office.Interop.Access.ApplicationClass oAccessoAccess.doCmd.TransferDatabase(acImport,
"Microsoft Access",
"a.mdb"//源数据库
acTable,
object Source, //
object Destination, //
object StructureOnly, //
object SotreLogin) //但是网上半天也没搜到参数具体意义 应该填写什么
初学,刚接触,不大懂,请问导入导出是用这个,
还是一般用别的方法。

解决方案 »

  1.   

    为什么不用OLEDB直接操作数据库呢?
      

  2.   

    oAccess.doCmd.TransferDatabase(acImport,   导入
    "Microsoft Access",  数据库类型
    "a.mdb"//源数据库
    acTable,  导入类型,选择了表    
    object Source, //    源表  aaaa
    object Destination, //  目标表  aaaa
    object StructureOnly, //   false
    object SotreLogin) //      false知道参数意思了
    但是
    是直接导入了表  源表是aaaa  结果是新建了一个表aaaa1
    而不是把源表里的数据直接添加到aaaa后面
    比较郁闷继续查。如果有知道的请帮忙一下的。
      

  3.   


    //导入excel到datagridview
     public void EcxelToDataGridView(string filePath, DataGridView dgv)
            {
                //根据路径打开一个excel文件并将数据填充到dataset中
                string strConn = @"Provider = Microsoft.Ace.OLEDB.12.0; Data Source = " + filePath + "; Extended Properties = 'Excel 12.0;HDR = NO; IMEX=1'";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                strExcel = "select * from [sheet1$]";
                DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
                string tableName = schemaTable.Rows[0][2].ToString().Trim();
                OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel, strConn);
                DataSet ds = new DataSet();
                myCommand.Fill(ds, "table1");
                //根据DataGridView的列构造一个DataTable
                DataTable td = ds.Tables[0];
                try
                {
                    //MessageBox.Show(td.ToString());
                    foreach (DataGridViewColumn dgvc in dgv.Columns)
                    {
                        if (dgvc.Visible && dgvc.CellType != typeof(DataGridViewCheckBoxCell))
                        {
                            DataColumn dc = new DataColumn();
                            dc.ColumnName = dgvc.DataPropertyName;
                            dc.DataType = dgvc.ValueType;
                            //MessageBox.Show(dc.ToString());
                            td.Columns.Add(dc);
                        }
                    }                //根据excel的行逐一对上面的构造的datatable的列进行赋值                for (int i = 0; i < ds.Tables[0].Rows.Count - 1; i++)
                    {
                        //int j = 0;
                        DataRow dr = td.NewRow();
                        DataRow excelRow = ds.Tables[0].Rows[i];
                        foreach (DataColumn dc in td.Columns)
                        {
                            dr[dc] = excelRow[i];
                            //MessageBox.Show(dr[dc].ToString());
                            i++;
                        }
                        td.Rows.Add(dr);
                    }
                    //在datagridview中显示导入的数据
                    dgv.DataSource = td;
                }
                catch (Exception)
                {
                    MessageBox.Show("该表已存在你即将导入的excel文件...,请点击清空按钮重新导入...");
                    return;
                }
                finally
                {
                    conn.Close();
                }
            }
      

  4.   

    我导入的是excel2007  如果LZ的是office2003 也就是excel2003 改下连接字符串就行了