請教SQL執行后為何無反應? |
尚未結案
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
請教各位前輩. 小弟在ADOTable元件之AfterPost事件中鍵入如下程式碼, 利用ADOQuery元件來更新資料表的內容, 但Update語法執行之后, 重新開啟資料表, 但無任何反應, 請問是何原因造成這樣的現象?
procedure TForm7.ADOTable1AfterPost(DataSet: TDataSet); Var IDRemark, OldSQL : String; HourRemark : Real; begin IDRemark := ADOTable1.FieldByName('Idno').AsString; if ADOTable1.FieldByName('O_OT_Hours').AsVariant <= 15 then begin OldSQL := 'Update TableName Set Salary_Money=Round(Salary_Month / 26 * Work_Days) and ' 'Salary_Money_H=Round(Salary_Month / 26 / 8) and ' 'O_OT_Money=Round(Salary_Month / 26 / 8 * O_OT_Hours * 1.5) and ' 'H_OT_Money=Round(Salary_Month / 26 / 8 * H_OT_Hours * 2.5) and ' 'Meal=Round(Work_Days * 2000) and ' 'Total_Amount=Round(Salary_Month / 26 * Work_Days) ' ' Round(Salary_Month / 26 / 8 * O_OT_Hours * 1.5) ' ' Round(Salary_Month / 26 / 8 * H_OT_Hours * 2.5) ' ' Round(Work_Days * 2000) ' ' Bonus Where Idno=''' IDRemark ''''; ADOQuery1.Close; ADOQuery1.SQL.Text := OldSQL; ADOQuery1.SQL.Text := StringReplace(ADOQuery1.SQL.Text, 'TableName', Form6.TableNameFirst, [rfReplaceAll, rfIgnoreCase]); end else begin HourRemark := ADOTable1.FieldByName('O_OT_Hours').AsVariant - 15; OldSQL := 'Update TableName Set Salary_Money=Round(Salary_Month / 26 * Work_Days) and ' 'Salary_Money_H=Round(Salary_Month / 26 / 8) and ' 'O_OT_Money=Round(Salary_Month / 26 / 8 * 15 * 1.5) and ' 'H_OT_Money=Round(Salary_Month / 26 / 8 * H_OT_Hours * 2.5) and ' 'Meal=Round(Work_Days * 2000) and ' 'Bonus=Bonus Round(Salary_Month / 26 / 8 * :Hour * 2.5) and ' 'Total_Amount=Round(Salary_Month / 26 * Work_Days) ' ' Round(Salary_Month / 26 / 8 * 15 * 1.5) ' ' Round(Salary_Month / 26 / 8 * H_OT_Hours * 2.5) ' ' Round(Work_Days * 2000) ' ' Bonus Round(Salary_Month / 26 / 8 * :Hour * 2.5) Where Idno=''' IDRemark ''''; ADOQuery1.Close; ADOQuery1.SQL.Text := OldSQL; ADOQuery1.SQL.Text := StringReplace(ADOQuery1.SQL.Text, 'TableName', Form6.TableNameFirst, [rfReplaceAll, rfIgnoreCase]); ADOQuery1.Parameters.ParamByName('Hour').Value := HourRemark; end; ADOQuery1.ExecSQL; ADOTable1.Close; ADOTable1.Open; ADOTable1.Locate('Idno', IDRemark, []); ADOTable1.Next; DBGrid1.SelectedIndex := 0; end;感謝! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |