線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1034
推到 Plurk!
推到 Facebook!

如何利用CheckListBox,同時insert多筆資料列

尚未結案
evoneliu
一般會員


發表:12
回覆:10
積分:4
註冊:2004-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 12:36:30 IP:220.130.xxx.xxx 未訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-27 19:22:58 IP:202.62.xxx.xxx 未訂閱
您好﹗    可在迴圈中利用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;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-06-18 22:29:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!