C#操作access数据表 sql语句怎么写 多表查询

1、现在是这样的一个access.mdb文件中有三个独立的table,我想对三个table都进行独立的筛选,注意别给我搞出个join操作,我其实只想把以下三句话整成一句
sql = "select * from [Model] where Model = '" + code + "'";
sql = "select * from [Colorbin] where Model_name = '" + code + "'";
sql = "select * from [Fluxbin] where Model_name = '" + code + "'";
现在我的操作室一句sql执行一次
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(sql, odcConnection);
oleAdapter.Fill(ds, "t表名");
dt=ds.Tables[“表名”];
查三次倒也可以,但是我想太烦了,精简代码,有懂得吗?我只想一次fill ,oleAdapter.Fill(ds, “ ”),具体不知道怎么写,然后每次dt=ds.Tables[“表名”]提取数据。我试了下,join老报错,三张表列数不一致,什么的。请高手解释,回答的话哦一定追加。 提醒我的三张表完全独立,只不过放在了一张access中

问题二:想把查询出来的数据覆盖,可能覆盖上的数据的行数多于之前的,也可能少于之前的,怎么写。就是想把查询出来的删除掉,再添加上去,但是我想一定有直接覆盖的sql语句,求帮帮

第1个回答  2015-05-25
sql = "select a.*,b.*,c.* from [Model] a,[Colorbin] b,[Fluxbin] c where a.Model = b.Model_name and a.Model = c.Model_name and a.Model = '" + code + "'";追问

Where b. Model不用写吗,还有c

追答

sql = "select a.*,b.*,c.* from [Model] a,[Colorbin]
b,[Fluxbin] c

where

a.Model = b.Model_name

and

a.Model = c.Model_name

and

a.Model = '" + code + "'";

追问

第二问,能顺便帮我解决吗,我一定追加分

追答

这个一条语句就没办法实现了,不过借助於一个临时表就很容易实现了。

"INSERT INTO 临时表 SELECT a.*,b.*,c.* FROM [Model] a,[Colorbin] 
b,[Fluxbin] c 
WHERE
a.Model = b.Model_name 
AND
a.Model = c.Model_name 
AND
a.Model = '" + code + "'";

最後再

SELECT * FROM 临时表

显示所有查询的数据

追问

你好,为什么第一问select出来后只有一个table
ds.tables.count=1
好像是把三个table合并了

追答

Access 不支持多条语句查询,你一次只能执行一条查询(包括select、update、insert)语句,发你项目给我(看私信),我给你改改吧

本回答被提问者和网友采纳

asp.net(c#)如何实现多条件查询access数据库
SQL语句:select * from CQCX where hangci=@textbox1 and chuanghao=@textbox2 其中,我把textbox1的id设为textbox1,textbox2的id设为textbox2

用C#连接ACCESS数据库后,怎样能查到数据库有几个表,并将所有表名显示...
\/\/using System.Data;\/\/using System.Data.OleDb;this.listbox.Items.Clear();try { OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=your.mdb");conn.Open();DataTable table = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]...

access中怎么用select语句查找数据
在Access中设置表属性有效性规则时,可输入条件`[最低储备]n and <n1`,其中n和n1代表具体的数值,以此限定数据范围。更新表格中的数据时,可以使用如下SQL语句:`UPDATE table_name SET 库存数量=xxxxx WHERE 主键1=xxx AND 主键2=xxxx`。这条语句将更新满足特定主键条件的记录的库存数量字段。关于A...

在C#中调用\/操作access数据库中的报表
可以。我给一段VB代码,C#思路跟这个差不多 Dim MSAccess As Access.ApplicationPrivate Sub Command1_Click()Set MSAccess = New Access.ApplicationMSAccess.OpenCurrentDatabase (App.Path & "\\AA.mdb")MSAccess.DoCmd.OpenReport "打印", acViewNormalMSAccess.CloseCurrentDatabaseSet MSAccess =...

在一个C#程序实现对多个数据库的访问和操作
可以建立多个Connection对象,例如:conn1,conn2等,分别连接不同的数据库;要操作不同数据库的时候使用对应的Connection对象就可以了。

c# access数据库里怎样进行不同列表里两列的数据同步
你要用C#做吗?你把两张表都读出来放在两具List或者是DataTable中,遍历一下,表2的总数=表1的,再把表2保存到数据库就可以了。大致代码:List<表1> list1 = new List<表1>();List<表2> list2 = new List<表2>();foreach (var obj in list1){ \/\/这里找到list2对应的记录对象,...

C# 对access 数据库进行修改,用的代码如下
where条件后的值要带单引号,你的条件应该是where id = '10';不是where id=10;所以报错说你没有指定值,不带单引号他不认识的!

如何通过ADO获得Access数据库中的所有用户表和表信息
\/\/C#获取Access数据库中的所有表名和列名 string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=E:\\report20100819\\report20100819.mdb";OleDbConnection Conn = new OleDbConnection(ConnectionString);Conn.Open();DataTable shemaTable = Conn.GetOleDbSchemaTable(...

C#中使用access数据库实现查询
以下表为例演示插入跟新操作 表名:User 字段:ID,UserName,UserPassword \/\/ 插入一条记录 OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\\\test.mdb;");OleDbCommand cmd = new OleDbCommand("INSERT INTO [User] ([ID], [UserName], [UserPassword...

关于C#操作Access
1:select [str] from table where [ID] = 10 2:如果没有 返回的是NULL 就是空记录 3:select * from table where [ID] = 8 是只把所有ID = 8 的查询出来 有N条就显示N条 没有就返回空集

相似回答