Exemplo n.º 1
0
        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            DbUtility     AccessDB   = new DbUtility(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openFileDialog1.FileName, DbProviderType.Access);
            List <string> tablenames = AccessDB.GetTableName();

            //  textBox1.Text = openFileDialog1.FileName;
            dgv.Rows.Clear();
            foreach (string name in tablenames)
            {
                DataTable table = AccessDB.GetDbField(name);



                //int i = 0;

                //foreach (DataRow row in table.Rows)
                //{

                //    dgv.Rows.Add(1);
                //    dgv.Rows[i].Cells["dgv_Mc"].Value = row["COLUMN_NAME"].ToString();    //字段名称

                //    int lx = int.Parse(row["DATA_TYPE"].ToString());    //字段类型

                //    switch (lx)
                //    {
                //        case 2: dgv.Rows[i].Cells["dgv_Lx"].Value = "int"; break;
                //        case 3: dgv.Rows[i].Cells["dgv_Lx"].Value = "int"; break;
                //        case 4: dgv.Rows[i].Cells["dgv_Lx"].Value = "Single"; break;
                //        case 5: dgv.Rows[i].Cells["dgv_Lx"].Value = "double"; break;
                //        case 6: dgv.Rows[i].Cells["dgv_Lx"].Value = "decimal"; break;
                //        case 7: dgv.Rows[i].Cells["dgv_Lx"].Value = "DateTime"; break;
                //        case 11: dgv.Rows[i].Cells["dgv_Lx"].Value = "bool"; break;
                //        case 17: dgv.Rows[i].Cells["dgv_Lx"].Value = "byte"; break;
                //        case 72: dgv.Rows[i].Cells["dgv_Lx"].Value = "string"; break;
                //        case 130: dgv.Rows[i].Cells["dgv_Lx"].Value = "string"; break;
                //        case 131: dgv.Rows[i].Cells["dgv_Lx"].Value = "decimal"; break;
                //        case 128: dgv.Rows[i].Cells["dgv_Lx"].Value = "string"; break;
                //        default: dgv.Rows[i].Cells["dgv_Lx"].Value = "string"; break;
                //    }
                //    dgv.Rows[i].Cells["dgv_Lx"].Tag = dgv.Rows[i].Cells["dgv_Lx"].Value.ToString();
                //    dgv.Rows[i].Cells["dgv_Yxk"].Value = bool.Parse(row["IS_NULLABLE"].ToString());    //允许空
                //    dgv.Rows[i].Cells["dgv_Ms"].Value = row["DESCRIPTION"].ToString();    //字段说明、描述
                //    dgv.Rows[i].Cells["dgv_Zj"].Value = false;

                //    i++;
                //}
                //  DataTable dt= AccessDB.GetDbPK(name);
                dgv.DataSource = table;
                //foreach (DataRow dr in dt.Rows )
                //{
                //    for (int j = 0; j < dgv.RowCount-1; j++)
                //    {
                //        if (dgv.Rows[j].Cells["dgv_mc"].Value.ToString() == dr["COLUMN_NAME"].ToString())
                //        {
                //            dgv.Rows[j].Cells["dgv_Zj"].Value = true;    //主键
                //        }
                //    }
                //}
            }


            //table = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, null);    //主键

            //foreach (DataRow row in table.Rows)
            //{
            //    if (sjbmc == row["TABLE_NAME"].ToString())
            //    {
            //        for (int j = 0; j < dgv.RowCount; j++)
            //        {
            //            if (dgv.Rows[j].Cells["dgv_mc"].Value.ToString() == row["COLUMN_NAME"].ToString())
            //            {
            //                dgv.Rows[j].Cells["dgv_Zj"].Value = true;    //主键
            //            }
            //        }
            //    }
            //}

            //  connection.Close();
            // DbUtility DbAccess = new DbUtility(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName + ";Persist Security Info=True", DbProviderType.Access);
            // DbAccess.
        }