如何在C#中完成对ACCESS表设计视图
最近由于项目要求,需要为用户提供对ACCESS表结构的修改,要求大致同ACCESS里面的表设计视图功能,请问如何能实现,其实能调用表设计视图也可以,想了很久也没想出怎么做,希望大家能给点意见。--------------------编程问答-------------------- 倾情一顶 --------------------编程问答-------------------- 没人知道吗?我想用datagridview做,把每个字段和结构都读出来,然后在datagridview里显示,觉得有点麻烦,其实我觉得最好是能直接调用access的表设计视图就好了,但不知道该怎么调用。 --------------------编程问答-------------------- 直接调用不会。
自己做个界面也没那么麻烦吧。。。。。 --------------------编程问答-------------------- 读ACCESS的结构,然后自己做显示 --------------------编程问答-------------------- 用程序直接调出Access给用户
或者用Office解决方案嵌入Access开发。 --------------------编程问答-------------------- 1.用SQL语句 Alter Table应该可以
2.用微软的COM组建ADOX(要添加对ADOX.DLL的引用)
有个示例代码(里边用ADOX创建数据库文件,用SQL语句创建表,但是也可以不用SQL语句,直接用ADOX创建表,修改表)
static void Main(string[] args)--------------------编程问答-------------------- 是修改表结构, 要读出表字段名和类型等信息 ,我觉得比较麻烦 。可以直接调用 ACCESS表结构设计器就好了。 --------------------编程问答-------------------- 修改表结构可以用Alter Table语句啊 或者直接用ADOX --------------------编程问答-------------------- 好高深了》。。。。。。。
{
OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
string currentPath = Assembly.GetExecutingAssembly().Location;
string dbpath = Path.GetDirectoryName(currentPath) + @"\info.mdb";
builder["Data Source"] = dbpath;
builder["User ID"] = "Admin";
builder["Jet OLEDB:Database Password"] = "delux";
Console.WriteLine(builder.ConnectionString + Environment.NewLine);
Console.WriteLine("按任意键开始创建数据库。(注意,如果数据库已存在,会被覆盖)" + Environment.NewLine);
Console.ReadKey(true);
if (File.Exists(dbpath))
{
File.Delete(dbpath);
}
ADOX.CatalogClass catalog = new CatalogClass();
catalog.Create(builder.ConnectionString);
Console.WriteLine("创建成功,按任意键创建表." + Environment.NewLine);
Console.ReadKey(true);
string create = @"Create Table MusicInfo
(
[FilePath] nvarchar(250) not null ,
[SongName] nvarchar(200) ,
[Artist] nvarchar(40) ,
[ext] nchar(10) ,
constraint [Pk_Path] primary key([FilePath])
)
";
OleDbConnection con = new OleDbConnection(builder.ConnectionString);
OleDbCommand cmd = new OleDbCommand(create, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Console.WriteLine("创建成功,按任意键退出.");
Console.ReadKey(true);
}
补充:.NET技术 , C#