Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2277|回复: 3

lazarus 如何用odbc 给access数据表添加记录?

[复制链接]

该用户从未签到

发表于 2013-12-23 13:32:43 | 显示全部楼层 |阅读模式
现在尝试用razarus + odbc 练习操作MS Access 但是用以下代码:
procedure TForm1.Button3Click(Sender: TObject);
begin                                          
SQLQuery1.Close;  
SQLQuery1.InsertSQL.Text := 'INSERT INTO test (ID,myname,mysex) VALUES (4,"lisi","man")';
SQLQuery1.ExecSQL;  
end;
程序编译并运行,执行过程也没提示错误,可是test表中,并没有增加记录!
不知如何解决,找了很久,没有答案!官方网站也没查到。不知您能帮助解决吗?
初学lazarus,想学学数据库编程。






管理

回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-12-24 20:49:54 | 显示全部楼层
本帖最后由 hewei 于 2013-12-24 20:56 编辑

问题已解决,如下代码:
procedure TForm1.Button5Click(Sender: TObject);
begin

  SQLTransaction1.commit;
  SQLTransaction1.StartTransaction;
  ODBCConnection1.ExecuteDirect(utf8tosys('INSERT INTO test VALUES (5,''王五'',''男'')'));
  SQLTransaction1.commit;

end;   
还有就是SQL语言不支持双引号,如''王五''两边的不是双引号,而是两个单引号 ' 哦!            
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-12-24 21:01:02 | 显示全部楼层
问题解决啦,代码如下:
procedure TForm1.Button5Click(Sender: TObject);
begin

  SQLTransaction1.commit;
  SQLTransaction1.StartTransaction;
  ODBCConnection1.ExecuteDirect(utf8tosys('INSERT INTO test VALUES (5,''王五'',''男'')'));
  SQLTransaction1.commit;

end;
还有就是SQL语言不支持双引号,如''王五''两边是两个单引号'哦!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-12-25 09:18:46 | 显示全部楼层
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 23:15 , Processed in 0.122101 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表