C# 通过System.Data.OleDb实现对access表格里面不同的表的读取

在文件.mdb中建立了
10来个表格

怎么在c#中实现对不同表格的读取?

比如
不同名字的表格
bladder
liver
eye
等等
基本的查询我都懂

关键是怎么在一个mdb中
连续查询不同的表格

是不是关掉以前打开的表格,在打开旧的

你不同的表里面都有一个唯一的且通用的键吗?
比如:ID
如果有你就可以用join子句连接查询。像这样:
select tb_liver.liver, tb_eye.eye, tb_hand.hand
from tb_liver
inner join tb_eye on tb_liver.id=tb_eye.id
inner join tb_hand on tb_liver.id=tb_hand.id
where tb_liver.id=...
...

如果你只是想在不同的表里面查不同的内容,之间没有键相互连接,那么你简单地open一个oledbconnection,然后一个一个地查询就行了,不需要关闭前一个表,最后把这个connection给close就可以了。因为你是连接到这个MDB的,不是连接到表的,所以也不存在关闭表的问题
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-14
public DataSet getConncetion()
{
try
{
//连接字符串~Data Source是Access的路径~
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb";
//连接数据库对象:OleDbConncetion
OleDbConnection oleConn = new OleDbConnection(strConn);
//先判断连接是否为打开状态,否的话就open一下·
if (oleConn.State != ConnectionState.Open)
{
oleConn.Open();
}

//SQL语句,查询一个表~表名因数据库而变!
string strCmd = "select * from Test_Table";
OleDbCommand oleCmd = new OleDbCommand(strCmd,oleConn);
OleDbDataAdapter oleDar = new OleDbDataAdapter(oleCmd);
//OleDbDataAdapter对象填充数据集,
DataSet myds = new DataSet();
oleDar.Fill(myds);
//关闭连接~
oleConn.close();
return myds;
}
cetch(Exception ex)
{
//异常处理~
}
}

告一段落~谢谢~
第2个回答  2008-04-15
向视图里面插入数据库,当然你的先再Access中做好一个合格的试图
相似回答