自己做的一个程序,因为客户那里数据源不一定,可能是文本,access,SQLserver等等数据源,所以可以自己配置数据源,比如我获得数据连接字符串这样的:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\test\My Documents\db1.mdb;Persist Security Info=False
但是数据库里表名也是未知的,各个客户的不一样,表的字段也不知道,我如何在程序里为其提供一个类似.net开发环境中中那样连接数据源后可以显示该数据库中的表和字段,任意选择需要哪一个表和其中字段的那种界面呢?请大家帮帮我,谢谢了!
但是数据库里表名也是未知的,各个客户的不一样,表的字段也不知道,我如何在程序里为其提供一个类似.net开发环境中中那样连接数据源后可以显示该数据库中的表和字段,任意选择需要哪一个表和其中字段的那种界面呢?请大家帮帮我,谢谢了!
private void button1_Click(object sender, System.EventArgs e)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection
(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb;Persist Security Info=False");
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
this.listBox1.Items.Clear();
for(int i = 0 ; i < schemaTable.Rows.Count ; i ++)
{
this.listBox1.Items.Add(schemaTable.Rows[i]["Table_Name"].ToString());
}
// 也可以在dataGrid1中看看schemaTable的结构
this.dataGrid1.DataSource = schemaTable;
}
SQL Server
SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN('master','tempdb','madb',model')
执行这个SQL语句,就可以取得用户表
数据源的配置界面有dll可以调用,不知道显示视图和表的字段有没有视图可以调用?谢谢了!