c#读取access数据库问题,大神帮帮忙

十尧予 2019-08-14 06:16:42
c#读取access数据库的多张表,每张表有相同字段 OpenFileDialog op = new OpenFileDialog(); op.InitialDirectory = @"E:\"; op.Filter = "数据库文件(*.mdb)|*.mdb|所有文件(*.*)|*.*"; if (op.ShowDialog() == DialogResult.OK) { fileName = op.SafeFileName;//文件名 filePath = op.FileName;//文件路径 } string Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath; //第二个参数为文件的路径 OleDbConnection dbconn = new OleDbConnection(Con); dbconn.Open();//建立连接 OleDbDataAdapter inst = new OleDbDataAdapter("select Note1,Number1,Unknown1 from Table3,Table4,Table5 where Table3.AmmunitionName=Table4.AmmunitionName and Table4.AmmunitionName=Table5.AmmunitionName", dbconn); DataSet ds = new DataSet();//临时存储 inst.Fill(ds,"sheet1");//用inst填充ds dbconn.Close();//关闭连接 dataGridView1.DataSource = ds.Tables["sheet1"];//展示ds第一张表到dataGridView1控件 但是运行出来dataGRidView中第一行数据不见了,就是正常是有两条数据的,但是它只显示第二。条但是我要是只操纵一个表的话。select * from table3就是正常显示两条数据的
...全文
116 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十尧予 2019-08-15
  • 打赏
  • 举报
回复
引用 5 楼 ManBOyyy的回复:
select Note1,Number1,Unknown1 from Table3,Table4,Table5 where Table3.AmmunitionName=Table4.AmmunitionName and Table4.AmmunitionName=Table5.AmmunitionName
你這樣和inner join 一樣,如果你想顯示table3的二條數據可以select * from table3 left join table4 。。。後面省略幾百個字
這樣子就可以了
好好看看inner join, left join, right join有什麼作用吧
感谢,找到哪里出问题了,都怪自己瞎
ManBOyyy 2019-08-15
  • 打赏
  • 举报
回复
select Note1,Number1,Unknown1 from Table3,Table4,Table5 where Table3.AmmunitionName=Table4.AmmunitionName and Table4.AmmunitionName=Table5.AmmunitionName
你這樣和inner join 一樣,如果你想顯示table3的二條數據可以select * from table3 left join table4 。。。後面省略幾百個字
這樣子就可以了
好好看看inner join, left join, right join有什麼作用吧
YBcsdn1996 2019-08-15
  • 打赏
  • 举报
回复
你不把数据贴出来 瞎猜有一万种可能
十尧予 2019-08-14
  • 打赏
  • 举报
回复
引用 2 楼 wid999的回复:
用inner join, left join, right join连接数据表。
用where可能把第一行数据过滤掉了。
用了inner join也还是 这样
wid999 2019-08-14
  • 打赏
  • 举报
回复
用inner join, left join, right join连接数据表。
用where可能把第一行数据过滤掉了。
十尧予 2019-08-14
  • 打赏
  • 举报
回复
引用 楼主 yuxiaoye03222的回复:
c#读取access数据库的多张表,每张表有相同字段 OpenFileDialog op = new OpenFileDialog(); op.InitialDirectory = @"E:\"; op.Filter = "数据库文件(*.mdb)|*.mdb|所有文件(*.*)|*.*"; if (op.ShowDialog() == DialogResult.OK) { fileName = op.SafeFileName;//文件名 filePath = op.FileName;//文件路径 } string Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath; //第二个参数为文件的路径 OleDbConnection dbconn = new OleDbConnection(Con); dbconn.Open();//建立连接 OleDbDataAdapter inst = new OleDbDataAdapter("select Note1,Number1,Unknown1 from Table3,Table4,Table5 where Table3.AmmunitionName=Table4.AmmunitionName and Table4.AmmunitionName=Table5.AmmunitionName", dbconn); DataSet ds = new DataSet();//临时存储 inst.Fill(ds,"sheet1");//用inst填充ds dbconn.Close();//关闭连接 dataGridView1.DataSource = ds.Tables["sheet1"];//展示ds第一张表到dataGridView1控件 但是运行出来dataGRidView中第一行数据不见了,就是正常是有两条数据的,但是它只显示第二。条但是我要是只操纵一个表的话。select * from table3就是正常显示两条数据的
请问怎么能把数据全部显示出来

111,098

社区成员

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

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

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