数据库载入数据 新手问题。

wang281234 2008-12-07 01:49:16
procedure TForm4.Button1Click(Sender: TObject);
begin
if (trim(edit2.Text)<>'')and(trim(edit3.Text)<>'')and(trim(edit3.Text)=trim(edit2.Text)) then
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('insert into student(Sno,Sname,Sex,Sage,Sdept) values('+quotedstr(edit1.Text)+','+quotedstr(edit2.Text)+','+quotedstr(edit3.Text)+',DateTimePicker1.date,'+quotedstr(edit4.Text)+',');
adoquery1.open ;
end;

过程简述:
单击按钮Button1,对表student插入数据元组。Sno,Sname,Sex,Sage,Sdept
运行时,DateTimePicker1.date这里出现错误,说上下文中不能使用date,此处只能使用常量变量或表达式,不允许使用列名。
...全文
35 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
silencegirl 2008-12-07
  • 打赏
  • 举报
回复
如果插入的是Sage整数年龄的话,要先计算出年龄:
uses DateUtils;

Ages:= YearsBetween(now,DateTimePicker1.date);//Ages为integer型,DateTimePicker1.date取出生年月
wang281234 2008-12-07
  • 打赏
  • 举报
回复
谢谢大家。。。。。。现在好了。。。。。。
wang281234 2008-12-07
  • 打赏
  • 举报
回复
谢谢大家。。。。。。现在好了。。。。。。
silencegirl 2008-12-07
  • 打赏
  • 举报
回复
var Birthday:string;

Birthday:=formatDatetime('yyyy-mm-dd',DateTimePicker1.date);

adoquery1.SQL.add('insert into student(Sno,Sname,Sex,Sage,Sdept) values('+quotedstr(edit1.Text)+','+quotedstr(edit2.Text)+','+quotedstr(edit3.Text)+','+Birthday+','+quotedstr(edit4.Text)+',');
wulingyigu1 2008-12-07
  • 打赏
  • 举报
回复
[date]
长沙三毛 2008-12-07
  • 打赏
  • 举报
回复
1)数据类型有点不清楚,Sage是整数还是字符
2)按语句分析,Sage如果是年龄,则要通过DateTimePicker1.Date控件的Date计算出整数年龄后,比如 age,然诺后,QuotedStr(Edit3.Text) + ',' + IntToStr(age) + ',' + QuotedStr(Edit4.Text) + ')';
3)语句的最后','多余,应该是')';
4)可以在Button里使用 ShowMessage(ADOQuery1.SQL.Text)查看

2,497

社区成员

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

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