搞不清楚的錯誤訊息... |
答題得分者是:ha0009
|
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
小弟在執行下列程式時總是會出現錯誤,訊息為“您要變更資料表,由於會對索引、主索引鍵或關聯產生重覆的值,所以不會成功,變更欄位的資料或變更那些包含重覆資料的欄位,移除索引或重新定義索引以允許重覆索引值“,我不明白所指為何此程式只有 class="code">
procedure tform10.overcheck(Sender: TObject); //逾期檢查
var
bookname: string;
overdays: double;
begin
with datamodule3 do
begin
while not adoquery1.Eof do
begin
bookname := adoquery1.fieldbyname('書名').Value;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add('select * from 書籍資料 where 書名 =' #39 bookname #39);
adoquery2.Open; overdays := now - adoquery1.fieldbyname('借閱日期').Value;
if (overdays >= adoquery2.fieldbyname('可借天數').Value) then
begin
overdays := overdays - adoquery2.fieldbyname('可借天數').Value;
adoquery6.sql.Clear;
adoquery6.sql.add('insert into 逾期記錄(姓名,學號,借閱日期,書名,逾期天數)values(v1,v2,v3,v4,v5)');
adoquery6.Parameters.ParamByName('v1').Value := adoquery1.fieldbyname('姓名').Value;
adoquery6.Parameters.ParamByName('v2').Value := adoquery1.fieldbyname('學號').Value;
adoquery6.Parameters.ParamByName('v3').Value := adoquery1.fieldbyname('借閱日期').Value;
adoquery6.Parameters.ParamByName('v4').Value := adoquery1.fieldbyname('書名').Value;
adoquery6.Parameters.ParamByName('v5').Value := overdays;
adoquery6.ExecSQL;
end;
end;
end;
end;
發表人 - nachi 於 2003/06/28 16:27:56 發表人 - nachi 於 2003/06/28 16:29:44
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |