如何用sql语句往access表中添加数据?

wlm721 2004-11-06 09:07:05
我用:insert into a表(字段1,字段2) values(值1,值2)
在access的查询中可以实现数据添加,可是放在程序中,系统却提示:灾难性错误
我用的是delphi语句,语句如下
clientdataset.commandtext:='insert into a表(字段1,字段2) values(值1,值2)';
clientdataset.execute;
在sql server 2000中可以使用,为什么在access中就不可以了?请指教!
...全文
409 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
runquickly 2004-11-09
  • 打赏
  • 举报
回复
clientdataset.close;
clientdataset.commandetext:='sql 语句';
clientdataset.open;
....
clientdataset.close;
clientdataset.commandtext:='sql添加语句'
clientdataset.execute;

第二个'sql添加语句'用另外一种控件来完成,比如adocommand,
wlm721 2004-11-09
  • 打赏
  • 举报
回复
三颗星,我已经说的很清楚了.
changechange 2004-11-08
  • 打赏
  • 举报
回复
clientdataset.close;
clientdataset.commandetext:='sql 语句';
clientdataset.open;
....
clientdataset.close;
clientdataset.commandtext:='sql添加语句'
clientdataset.execute;
---------你这个属于漫无目的的提问

请贴出具体的SQL 语句,以及对应表的表结构,以及错误提示,这样才对问题解决有帮助
关于此主题请参考:
在技术论坛提问的技巧《其他》
http://access911.net/index.asp?u1=a&u2=72FAB61E17DCE7F3

wlm721 2004-11-07
  • 打赏
  • 举报
回复
我的程序原来的数据库是sql server现在换成access,结果就出现错误了,系统提示为:灾难性错误!
我临时编了个提交程序,又能通过,后发现是我在提交之前做了个查询动作,用的是同一个控件,程序如下:
clientdataset.close;
clientdataset.commandetext:='sql 语句';
clientdataset.open;
....
clientdataset.close;
clientdataset.commandtext:='sql添加语句'
clientdataset.execute;
是不是clientdataset里的数据没有清空?
changechange 2004-11-07
  • 打赏
  • 举报
回复
clientdataset.commandtext:='insert into a表(字段1,字段2) values(值1,值2)';
---------你这个属于漫无目的的提问

请贴出具体的SQL 语句,以及对应表的表结构,以及错误提示,这样才对问题解决有帮助
关于此主题请参考:
在技术论坛提问的技巧《其他》
http://access911.net/index.asp?u1=a&u2=72FAB61E17DCE7F3


to zjcxc(邹建):在 ACCESS 中,用 ADO 和 DAO 去执行 JET SQL 语句功能是一致的,因为相关内容由 JET DB 去做,而不是 ADO /DAO
Libra_Chen 2004-11-07
  • 打赏
  • 举报
回复
我的程序也是。查询分析器里能执行到程序就不行了。我用pb的数据管道。
danielrh 2004-11-06
  • 打赏
  • 举报
回复
對不起,我不懂delphi,但我想用ADO來執行應該是沒問題的。
zjcxc 2004-11-06
  • 打赏
  • 举报
回复
ACCESS好像是引用DAO来操作的吧
程序用ADO操作会有一些是不支持的(这个我也试过,改用DAO可以正确执行,在ACCESS中也行,就是用ADO就不认了)
wlm721 2004-11-06
  • 打赏
  • 举报
回复
问题是我通过断点跟踪,已经把sql语句截取下来,放在access的查询中能被正确执行,为什么在程序中就不可以了?我是用 socket控件和后台服务器关联的?因为原来准备后台用sql server,现在想改成access数据库
danielrh 2004-11-06
  • 打赏
  • 举报
回复
如果是MDB系统,在设计table时要注意其text字段的2个属性:
1〉允许空值,是===表示可接受null值(注意不是零长度字符串""),否则表示该字段必须有值
2>允许零长度字符串,是===表示可接受""值(如你的问题所示),否则该字段只能接受长度大于0的值
默认值是否,因此如果你要执行 insert into xx(id,name,sex) values('1','a',''),首先必须确保
Sex字段允许零长度字符串的属性改为是。

如果是ADP系统则不存在上述问题。

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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