在DELPHI中用ADO方式连接EXCEL表,比较两列,两列数据的行数不同,如何比较

用"selectdistinct列1from表where列1notin(select列2from表)"这样的语句查询同一个表中的两列,想得到的结果是1列中去除包含的2列中... 用"select distinct 列1 from 表 where 列1 not in (select 列2 from 表)"这样的语句查询同一个表中的两列,想得到的结果是1列中去除包含的2列中的重复数据后的结果.
可是我用上面的查询,得到的结果是空的,只有把列1和列2的所有行都填上数据,也就是让列1和列2行数相同时,才能得到正确结果,怎么才能在行数不同的情况下也得到正确结果?
列1 列2 列3
1 2 2
2 3 4
3
4
这样的表格.如果用上面的语句处理.从列1中减去列2的数据,得到的结果是空.
如果从列2减列3,结果是3
这就是有问题的地方.各位大虾.帮帮我吧.
展开
 我来答
zzluo
2009-06-24 · TA获得超过496个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:472万
展开全部
这里给你一个连接串
Const
ConnExcelStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.xls;Extended Properties=Excel 8.0;Persist Security Info=False';

这个连接串是用来连接“C:\1.xls”的

放一个ADOQuery到窗体上,在程序中把这个连接串赋值给它的Connectionstring属性

然后它就是你熟悉的数据库操作了

查询工作簿的语句(这里只写部分代码)

ADOQuery.SQL.Add('Select * from [Sheet1$]');//Sheet1是工作簿的名字 $不要忘记
ADOQuery.Open;

注明:
Excel的格式第一行必须是字段名

参考资料: http://zhidao.baidu.com/question/76077732.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12434458b
2009-06-24 · TA获得超过399个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:517万
展开全部
可能是列2的空行没有默认值的原因造成的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙宇防盗监控
2009-06-24 · TA获得超过330个赞
知道小有建树答主
回答量:1026
采纳率:0%
帮助的人:754万
展开全部
ADO方式连接EXCEL表,没用过

我一般采用
var ExcelApp: Variant;
str1:=currpath+ 'line'+'\'+ '日报表'+'月'+'.xls';
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.Visible := False ;
ExcelApp.Caption := '控制程序调用 Excel 生成表格';
ExcelApp.WorkBooks.Open( str1 );
ExcelApp.WorkSheets[1].Activate;
ExcelApp.Cells[10,20].Value :='1020' //取值,赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
血陌薇
2009-06-24
知道答主
回答量:90
采纳率:0%
帮助的人:19.5万
展开全部
能具体点啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式