找回密码
 立即注册
搜索
查看: 351|回复: 2

delphi......invalid use of keyword

[复制链接]

31

主题

44

回帖

98

积分

注册会员

积分
98
发表于 2003-5-5 21:07:39 | 显示全部楼层 |阅读模式
with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('INSERT INTO Employee ');
    SQL.Add(' (Ename, Gender, Age, Birth, password,');
    SQL.Add(' Nationality, HKID, MarriedStatus, Address,');
    SQL.Add(' Qualification, Telephone, Mobile, JoinDate,');
    SQL.Add(' Position, JobType, Remark)');
    SQL.Add('VALUES ');
    SQL.Add('(:Ename, :Gender, :Age, :Birth, :password, :Nationality,' );
    SQL.Add(' :HKID, :MarriedStatus, :Address, :Qualification, :Telephone,');
    SQL.Add(' :Mobile, :JoinDate, :Position, :JobType, :Remark)');
    Params[0].AsString := EnameEdit.Text;
    Params[1].AsString := GenderRadioGroup.Items.GetText;
    Params[2].AsString := AgeLabel.Caption;
    Params[3].AsString := FormatDateTime('yyyymmdd', BirthDateTimePicker.Date);
    Params[4].AsString := PassEdit.Text;
    Params[5].AsString := NationalityComboBox.Items.GetText;
    Params[6].AsString := HKIDEdit.Text;
    Params[7].AsString := MarriedComboBox.Items.GetText;
    Params[8].AsString := AddressMemo.Text;
    Params[9].AsString := QualificationComboBox.Items.GetText;
    Params[10].AsString := TelEdit.Text;
    Params[11].AsString := MobileEdit.Text;
    Params[12].AsString := FormatDateTime('yyyymmdd', Date);
    Params[13].AsString := PositionDBComboBox.Items.GetText;
    Params[14].AsString := JobTypeComboBox.Items.GetText;
    Params[15].AsString := RemarksMemo.Text;
    ExecSQL
  end;

源碼如上.......但運行時郤出現EDBEngineError with message 'invalid use of keyword Token: password
Line Number: 2'.............為什麼呀........>.<
求高手賜教~~

382

主题

1万

回帖

1万

积分

信息监察员

海浩校长

积分
18269
发表于 2003-5-6 12:59:27 | 显示全部楼层
我也不清楚,你试试看:
表中password字段是否为索引字段?
索引字段不允许有相同的值,必须一个记录一个不同的值
如果password字段中限制了长度,则输入字串不能超过该长度。
如果password字段中设置了不允许为空,那么当PassEdit.Text的内容为空时会出错。
回复

使用道具 举报

31

主题

44

回帖

98

积分

注册会员

积分
98
 楼主| 发表于 2003-5-6 22:46:45 | 显示全部楼层
昨晚沒睡..........終於搞定了..........>.< code如下

With HrmDataModule.HrmQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('INSERT INTO Employee ');
    SQL.Add('(EmpID, Ename, Gender, Age, Birth, password, ');
    SQL.Add('Nationality, HKID, MarriedStatus, Address, Qualification, Telephone, ');
    SQL.Add('Mobile, JoinDate, Position, JobType, Remark, Annual)');
    SQL.Add(' VALUES ');
    SQL.Add('(:EmpID, :Ename, :Gender, :Age, :Birth, :password, ');
    SQL.Add(':Nationality, :HKID, :MarriedStatus, :Address, :Qualification, :Telephone, ');
    SQL.Add(':Mobile, :JoinDate, :Position, :JobType, :Remark, :Annual)');
    Params[0].AsInteger := StrToInt(IDLabel.Caption);
    Params[1].AsString := EnameEdit.Text;
    Params[2].AsString := GenderRadioGroup.Buttons[GenderRadioGroup.ItemIndex].Caption;
    Params[3].AsInteger := StrToInt(AgeLabel.Caption);
    Params[4].AsString := FormatDateTime('YYYY-MM-DD', BirthDateTimePicker.Date);
    Params[5].AsString := PassEdit.Text;
    Params[6].AsString := NationalityComboBox.Text;
    Params[7].AsString := HKIDEdit.Text;
    Params[8].AsString := MarriedComboBox.Text;
    Params[9].AsBlob := AddressMemo.Text;
    Params[10].AsString := QualificationComboBox.Text;
    Params[11].AsInteger := StrToInt(TelEdit.Text);
    Params[12].AsInteger := StrToInt(MobileEdit.Text);
    Params[13].AsString := FormatDateTime('YYYY-MM-DD', Date);
    Params[14].AsString := PositionComboBox.Text;
    Params[15].AsString := JobTypeComboBox.Text;
    Params[16].AsBlob := RemarksMemo.Text;
    Params[17].AsInteger := 0;
    ExecSQL
  end;

經一事, 長一智, 發覺自寫的程式實在太爛了>.<
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-22 01:13 , Processed in 0.074783 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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