delphi 用ADO连接Excel

Liyp92 2014-09-12 12:06:12
 ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [Sheet1$]');
ADOQuery1.Open;

Showmessage(ADOQuery1.FieldByName('回號').AsString);

出错:定义了过多字段?
这样不行么?
SELECT * FROM [Sheet1$] WHERE [回號]=1
也是报这个错?
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liyp92 2014-09-16
  • 打赏
  • 举报
回复
引用 4 楼 ptvbs 的回复:
adoquery1.sql.add:=' SELECT prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1' + ' FROM [excel 8.0;database=' + xlspath + '].[PRDT$]'; 我是这样用的, 你那个select * from 我觉的你得加上字段,例如:select prd_no as 回号 from .......
我Excel的prd_no就是回号了
ptvbs 2014-09-13
  • 打赏
  • 举报
回复
adoquery1.sql.add:=' SELECT prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1' + ' FROM [excel 8.0;database=' + xlspath + '].[PRDT$]'; 我是这样用的, 你那个select * from 我觉的你得加上字段,例如:select prd_no as 回号 from .......
NongCunGongLu 2014-09-13
  • 打赏
  • 举报
回复
英文字段名称试一下呢
Liyp92 2014-09-12
  • 打赏
  • 举报
回复
ADOQuery1.Edit;
      ADOQuery1.FieldByName('回號').AsInteger:=ADOQuery1.FieldByName('回號').AsInteger+1;
      ADOQuery1.Post;
也错了:操作必须使用一个可更新的查询。 ADO不能对EXCEL做这些操作?
Liyp92 2014-09-12
  • 打赏
  • 举报
回复
引用 2 楼 hnlg81004 的回复:
在D7下测试没有问题啊,不清楚你的EXCEL的内容
可以做修改操作?
ADOQuery1.Edit;
      ADOQuery1.FieldByName('回號').AsInteger:=ADOQuery1.FieldByName('回號').AsInteger+1;
      ADOQuery1.Post;
//操作必须使用一个可更新的查询。
CCC的 2014-09-12
  • 打赏
  • 举报
回复
在D7下测试没有问题啊,不清楚你的EXCEL的内容

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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