如何利用CheckListBox,同時insert多筆資料列 |
尚未結案
|
evoneliu
一般會員 發表:12 回覆:10 積分:4 註冊:2004-10-21 發送簡訊給我 |
dear :請麻煩大家幫我解憂好嗎?謝謝!
前題:
1.餐組序號為一個流水編號。
2.model欄位為一個CheckListBox。
3.此為一個INSERT至TABLE作業。 目的:
1.目前當我勾選A存檔時,則餐組序號會自動編號。(請幫忙我確認我存檔時,最後一行程式是否正確使用CheckListBox)
口model A 餐組序號2005010001 2.但我還有個需求,若我選取兩個model時,我如何讓它們在存檔時,同時產生兩個餐組序號,
並且存兩個資料列於table中?當然model可能不只選取兩個……
口model A 餐組序號2005010001
口model B 餐組序號2005010002 function TEdMealSetForm.GetNewmealsetsn(trancode:String;tranDate:TDateTime):String;//自動編號作業
var tempstr:String;
begin
ParamADOQuery.Close;
ParamADOQuery.Parameters.ParamByName('e_yearmonth').value:=FormatDateTime('yyyymm', tranDate);
ParamADOQuery.Parameters.ParamByName('e_id_code').value:=trancode;
ParamADOQuery.Open;
if ParamADOQuery.RecordCount>0 then
begin
EditADOQuery.SQL.Clear;
EditADOQuery.SQL.Add('UPDATE PARAM');
EditADOQuery.SQL.Add('SET SerialNo=:E_serialno');
EditADOQuery.SQL.Add('WHERE yearmonth=:E_yearmonth and ID_CODE=:E_id_code');
EditADOQuery.Parameters.ParamByName('e_yearmonth').value:=FormatDateTime('yyyymm', tranDate);
EditADOQuery.Parameters.ParamByName('e_serialno').value:=ParamADOQuerySerialno.value 1;
EditADOQuery.Parameters.ParamByName('e_ID_CODE').value:=trancode;
EditADOQuery.ExecSQL;
Result:=FormatDateTime('yyyymm', trandate)
FormatFloat('0000', ParamADOQuerySerialno.value 1);
end
else
begin
EditADOQuery.SQL.Clear;
EditADOQuery.SQL.Add('INSERT INTO PARAM');
EditADOQuery.SQL.Add('(ID_CODE, yearmonth, Serialno)');
EditADOQuery.SQL.Add('Values (:E_ID_CODE, :E_yearmonth, :E_serialno)');
EditADOQuery.Parameters.ParamByName('e_yearmonth').value:=FormatDateTime('yyyymm', tranDate);
EditADOQuery.Parameters.ParamByName('e_ID_CODE').value:=trancode;
EditADOQuery.Parameters.ParamByName('e_serialno').value:=1;
EditADOQuery.ExecSQL;
Result:=FormatDateTime('yyyymm', tranDate) '0001';
end;
end; procedure TEdMealSetForm.savebtnClick(Sender: TObject);//存檔作業
editadoquery.sql.clear;
editadoquery.sql.add('Insert into mealset');
editadoquery.sql.add('(mealsetsn,model)'); editadoquery.sql.add('values(:e_mealsetsn,:e_model)');
editadoquery.Parameters.ParamByName('e_mealsetsn').value:=trim(mealsetsnedit.text);
editadoquery.Parameters.ParamByName('e_model').value:=modelCheckListBox.ItemIndex;
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 可在迴圈中利用CheckListBox元件的Checked屬性來判斷此筆Item是否已被勾選﹐範例如下﹕
procedure TForm1.Button1Click(Sender: TObject); Var I : Integer; begin For I:=0 to (modelCheckListBox.Items.Count-1) do begin if modelCheckListBox.Checked[I] then begin editadoquery.Close; editadoquery.sql.clear; editadoquery.sql.add('Insert into mealset'); editadoquery.sql.add('(mealsetsn,model)'); editadoquery.sql.add('values(:e_mealsetsn,:e_model)'); editadoquery.Parameters.ParamByName('e_mealsetsn').value:=trim(mealsetsnedit.text); editadoquery.Parameters.ParamByName('e_model').value:=modelCheckListBox.ItemIndex; editadoquery.ExecSQL; end; end; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |