为什么不可以增加数据??

fanshousu 2003-06-16 04:03:24
以下代码哪里有错误?
with Clientdataset2 do
begin
Close;
CommandText := 'insert into jwxt.jsxx '+
'(field1,field2,field3) '+
'values(:Name,:ID,:Age)';
Params.ParamByName('Name').AsString := EtName.Text;
Params.ParamByName('ID').AsString := EtID.Text;


Params.ParamByName('Age').Asinteger := StrToInt(EtAge.Text);
Execute;
end;
需要说明的是:
首先如果没有动态的参数,那么是可以运行的;
其次如果没有整数类型的动态参数,而只有别的动态参数也是可以运行的(既只有前两个动态参数);
第三:迫不得已我手动创建动态参数,但是仍然错误
第四:错误提示:"Invaild Field Type"
...全文
40 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小崔爱读书 2003-06-19
  • 打赏
  • 举报
回复
你试试,我也不知道对不对
with Clientdataset2 do
begin
Close;
CommandText := 'insert into jwxt.jsxx '+
'(field1,field2,field3) '+
'values('':Name'','':ID'',:Age)';
Params.ParamByName('Name').AsString := EtName.Text;
Params.ParamByName('ID').AsString := EtID.Text;


Params.ParamByName('Age').Asinteger := StrToInt(EtAge.Text);
Execute;
end;
citytramper 2003-06-19
  • 打赏
  • 举报
回复
'Age'

是不是smallint类型
pigeonwind 2003-06-19
  • 打赏
  • 举报
回复
with Clientdataset2 do
begin

CommandText := 'insert into jwxt.jsxx(field1,field2,field3) '+
'values('''+EtName.Text+''','''+EtID.Text+''','+EtAge.Text)';
Execute;
end;
fbt118 2003-06-19
  • 打赏
  • 举报
回复
没有加冒号吧。
wooden954 2003-06-19
  • 打赏
  • 举报
回复
可能还不正确,请把你的Field1,Field2,Field3的列的数据类型写出来,因为你的第四个错误可能和这个有关,我的答案中假设的是Name列与ID列是字符型的,年龄列是数值型的。

是不是应该将ID列作为数值型呢?如果是这样的话,那么
CommandText= 'insert into jwxt.jsxx '+
'(field1,field2,field3) '+
'values('''+EtName.Text+''','+EtID.Text+','+EtAge.Text+')';
wooden954 2003-06-19
  • 打赏
  • 举报
回复
更正一下:
CommandText= 'insert into jwxt.jsxx '+
'(field1,field2,field3) '+
'values('''+EtName.Text+''','''+EtID.Text+''','+EtAge.Text+')';
wooden954 2003-06-19
  • 打赏
  • 举报
回复
试试这样:
with Clientdataset2 do
begin
Close;
CommandText := 'insert into jwxt.jsxx '+
'(field1,field2,field3) '+
'values('''+EtName.Text+''','''+EtID.Text+''','+EtAge.Text)';
Execute;
end;
RobinHZ 2003-06-19
  • 打赏
  • 举报
回复
这样写会不会出错?
Params.ParamByName('Age').AsString := EtAge.Text;
blueshu 2003-06-19
  • 打赏
  • 举报
回复
没用过Clientdataset
看看有没有Clientdataset.paramters.refresh
sowine 2003-06-19
  • 打赏
  • 举报
回复
delphi的integer型是32位的,你用的数据库的整型是几位的?

2,498

社区成员

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

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