新手求助~delphi中的XML写入ACCESS的问题。

liguiwen95 2008-10-29 04:55:07
我想用XML的节点名称创建一个ACCESS的表,以下是代码,只是不明白为什么会出现'Createa table 语句中的语法错误' 请前辈帮忙看下,是因为变量类型的问题吗?
var
strConnectString: string;
CreateTable, NewTable: string;
c:string;
begin
//XML文件已经在FormCreatea中读取和激活,
//NewTable:= TXMLDoc.DocumentElement.ChildNodes[0].ChildNodes[0].Text; //?? 为什么这样就可以创建表?
NewTable:= TXMLDoc.DocumentElement.ChildNodes.Nodes[0].NodeName; //将NodeName赋值给NewTable
//连接FileName数据库
strConnectString:= 'Provider = Microsoft.Jet.OLEDB.4.0; Data Source = ' + FileName + '.mdb' ;
with ADOConnection1 do
begin
ConnectionString:= strConnectString;
Connected:= true;
end;
CreateTable:= 'Create table ' + NewTable;
ShowMessage(CreateTable);
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(CreateTable);
ShowMessage('到下一步就发生上述错误');
EXECSQL;
end;
end;
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liguiwen95 2008-10-29
  • 打赏
  • 举报
回复
OK! 搞定了,终于让我给琢磨出来了,
原因是我的那个XML文件的节点是<user>,user在SQL里面是保留字,
不过还是要谢谢大家!
:)
liguiwen95 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lake_cx 的回复:]
你创建一个表一个字段都不要?
[/Quote]

假如我用
//NewTable:= TXMLDoc.DocumentElement.ChildNodes[0].ChildNodes[0].Text; //?? 为什么这样就可以创建表?
用这个NewTable作为表名
就可以创建出一个没有任何字段的表;
我也很是个纳闷.
liguiwen95 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 genispan 的回复:]
CreateTable, NewTable: string; ??

这是在干嘛?
[/Quote]

一个是SQL语句用的,一个是从XML文件中获得的节点名称(想做为表的名称)
lake_cx 2008-10-29
  • 打赏
  • 举报
回复
你创建一个表一个字段都不要?
genispan 2008-10-29
  • 打赏
  • 举报
回复
哦 看明白了 你看看在你直接在ACCESS里面用SQL语句建表是怎么建的

点queries,双击create query in design view
genispan 2008-10-29
  • 打赏
  • 举报
回复
CreateTable, NewTable: string; ??

这是在干嘛?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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