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#连接数据库。accessc#数据库string
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#连接数据库。accessc#数据库string
都用OleDbConnection不行吗?
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; //增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
col.Name = "序号";
col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
col.Properties["AutoIncrement"].Value = true;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0); //增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = "箱号";
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25); //增加一个文本字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass();
col3.ParentCatalog = cat;
col3.Name = "重量";
col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adVarChar, 25); ADOX.ColumnClass col4 = new ADOX.ColumnClass();
col4.ParentCatalog = cat;
col4.Name = "记录时间";
col4.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adVarChar, 25); cat.Tables.Append(tbl); //这句把表加入数据库(非常重要)
//MessageBox.Show("数据库表:" + tbl.Name + "已经创建成功!");
tbl = null;
con = null;
这是我在一个access数据库中创建一个数据表的代码,如果用ADO.net如何把创建的表指定到数据库中呢??cat.ActiveConnection = con;//这里出错了 ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
这几句如何改呢????