如何用sql更新paradox表格

CKEN 2000-08-31 11:21:00
表格格式如下:
表命: tab
字段: a autoincrese *
b longint
c longint
d char(100)
如何在表中插入一个纪录(use sql),我用insert into tab(b,c,d) values(1,1,'888')不行,用insert into tab(a,b,c,d) values(null,1,1,'888')
还不行,请教各位高人,我该如何写sql语句?
...全文
172 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CKEN 2000-09-01
  • 打赏
  • 举报
回复
现在我的问题已解决了,我在DATABASE DESKTOP 中把a设成了Required Fields,所以
insert必须对a付值,而insert是不能对autoincrement字段付值的,所以导致出错,
把a的Required Fields选项去掉一切OK,感谢各位帮助,大家回答有分,鞠躬鞠躬!
zcw 2000-09-01
  • 打赏
  • 举报
回复
你把SECONDARY INDEX:b先去掉,慢慢试,要不然就重建一个表。
zcw 2000-09-01
  • 打赏
  • 举报
回复
我建了,在SQLEXPLORE也好使,不过要刷新一下,你的delphi没问题吧。
蝈蝈俊 2000-08-31
  • 打赏
  • 举报
回复
delphi 中 输入sql时很特殊,如下

CommSQL.SQL.Add('insert into tab(b,c,d) value('+b的值 +','+c的值 +','+''''+ b的值 +''''+')';
wolfop 2000-08-31
  • 打赏
  • 举报
回复
什么错误提示? 你的BDE设置是否正确? 在Database desktop运行这些语句也不对吗?
CKEN 2000-08-31
  • 打赏
  • 举报
回复
不行啊,老是说Field value required.
你建没建a这个自增加字段啊?
zcw 2000-08-31
  • 打赏
  • 举报
回复
我的sql语句运行通过,成功;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
insertsql(1,1,'888');
end;
procedure TForm1.insertsql(b_value,c_value:integer;d_value:String);
var
s:string;
begin
query1.SQl.Clear;
s:='insert into zzz(b,c,d) '+'values('+inttostr(b_value)+','+inttostr(c_value)+','+''''+d_value+''''+')';
query1.SQL.Add(s);
query1.ExecSQL;
end;
CKEN 2000-08-31
  • 打赏
  • 举报
回复
一共两个索引
PRIMARY:a
SECONDARY INDEX:b
我用DATABASE DESKTOP可以加入记录
SQLEXPLORE也行
我的SQL语句是在SQLEXPLORE中运行的
麻烦各位高手在SQLEXPLORE中建个小表试试。
蝈蝈俊 2000-08-31
  • 打赏
  • 举报
回复
是不是表你还建了其它的唯一索引????
CKEN 2000-08-31
  • 打赏
  • 举报
回复
错误提示:
Invalid use of keyword
Token:value(1,1,'888')
Line number:1
把VALUE改成VALUES又说:
Field value required;
我想是不是没给a付值?可我用NULL给a付值后,又说
INSERT and UPDATE operations are not supported on autoincrement field type.
我快崩溃了:(

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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