ado.net(连接access)问题!!!

happycainiao 2003-06-13 05:02:44
因为本人目前只会用窗体设计器来建立到数据库的连接,但这样做只能实现在程序运行之前就必须确定好要访问那个数据库文件中的哪个(些)表,
请问怎样实现在程序运行时动态选择读取哪个表的数据(假设一个.mdb文件中有多个表)
...全文
139 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2003-06-14
  • 打赏
  • 举报
回复
以下示例返回数据库中的表的列表。

[Visual Basic]
Public Function GetTables(conn As OleDbConnection) As DataTable
conn.Open()
Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _New Object() {Nothing, Nothing, Nothing, "TABLE"})
conn.Close()
Return schemaTable
End Function
[C#]
public DataTable GetTables(OleDbConnection conn)
{
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
conn.Close();
return schemaTable;
}
孟子E章 2003-06-14
  • 打赏
  • 举报
回复
你可以用
Catalog.Tables(i).Name遍历出所有的表,然后进行选择合适的
ArLi2003 2003-06-14
  • 打赏
  • 举报
回复
我上面的例子就是帮你列出所有的表到combox
连接哪个mdb 你自己在connection 串设置就是了
pipibug 2003-06-14
  • 打赏
  • 举报
回复
强!
ftfly 2003-06-13
  • 打赏
  • 举报
回复
再连接字符串中可以指定mdb文件,在SQL语句中可以指定哪个表
happycainiao 2003-06-13
  • 打赏
  • 举报
回复
我的意思是在程序运行时,可以指定连哪个.mdb文件,然后可以指定连哪几个表(根据.mdb文件的情况)。
ArLi2003 2003-06-13
  • 打赏
  • 举报
回复
ObjConn 是 connection 连接对象
cmb_tableName 是一个下拉框

private bool addTable() {
object[] oa={null, null, null, "TABLE"};
DataTable tmpTable = ObjConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, oa);

if (tmpTable.Rows.Count>0){
for (int i=0; i< tmpTable.Rows.Count; i++) {
this.cmb_tableName.Items.Add(tmpTable.Rows[i]["TABLE_NAME"].ToString());
}
this.cmb_tableName.SelectedIndex = 0;
return true;
}else{
MessageBox.Show("the DataBase:\n" + dbFileNameStr + "\n has Empty!!","Abort",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return false;
}
}
snla 2003-06-13
  • 打赏
  • 举报
回复
ODBC Driver for Access
 
For Standard Security:

ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};
          Dbq=driver:\path\databasename.mdb;
          Uid=Admin;
          Pwd=;"
junmingl 2003-06-13
  • 打赏
  • 举报
回复
在oleDbCommand中设置需要连接的sql语句,要连几个表,就设置几个oleDbCommand
zjjszw 2003-06-13
  • 打赏
  • 举报
回复
你想怎么動態選擇﹖﹖
alexy 2003-06-13
  • 打赏
  • 举报
回复
不是阿,
连接什么库是connection对象的连接串决定的,连接哪一个表是通过command的SQL语句指定的。都是可以在程序运行的时候指定的啊。

111,115

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧