Q&A

  • sql문에 대해서.
데이타타임피크를 두개 사용해서

예를들면 6월 1일부터 7월1일 한달 사이에 자료들을

디비 그리드에 보여주게 하는 방법



이게 메인 질문인데여

DBlookupcombobox를 사용해서 거기에 들어있는 항목을 선택하면

날짜는 데이타타임피크에나오게하고 자료들은 디비그리드에 나오게

방법아시면 좀 부탁합니당..

즐코..하십시요..

제가 짠 소스거던여...보시고 좀 부낙합니다 즐코

unit gur_maeip_date1;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls, Db, DBTables, DBCtrls, Mask,

Buttons;



type

TForm1 = class(TForm)

Panel1: TPanel;

dtp1: TDateTimePicker;

Panel2: TPanel;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Query1: TQuery;

DataSource1: TDataSource;

PrintDialog1: TPrintDialog;

Label3: TLabel;

Table1: TTable;

DataSource2: TDataSource;

Panel4: TPanel;

Panel3: TPanel;

Print: TBitBtn;

Exit: TBitBtn;

Cash: TBitBtn;

Edt_1: TEdit;

dbc_1: TDBLookupComboBox;

Sum_Acount: TBitBtn;

DateTimePicker1: TDateTimePicker;

Database1: TDatabase;



procedure dtp1CloseUp(Sender: TObject);

procedure ExitClick(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);

procedure PrintClick(Sender: TObject);

procedure CashClick(Sender: TObject);

procedure Sum_AcountClick(Sender: TObject);

procedure dtp2CloseUp(Sender: TObject);











private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}







procedure TForm1.dtp1CloseUp(Sender: TObject);

begin

with query1 do

begin



close;

sql.clear;

sql.add('select * from gur_maeip');

sql.add('where mdate =:insert_mdate');

parambyname('insert_mdate').asstring:=formatdatetime('yyyy-mm-dd',dtp1.date);

Query1.open;



end;

end;







procedure TForm1.ExitClick(Sender: TObject);

begin

close;

end;



procedure TForm1.BitBtn3Click(Sender: TObject);

begin

{with updatequery1 do begin

sql.clear;

sql.add('update set gur_maeip values(');



showmessage(sql.text);



execsql;

selectquery1.refresh;

end; }

end;



procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);

begin

if key = #13 then



with dbgrid1 do begin

if selectedfield.fieldname = 'suryng' then begin

datasource1.dataset.Edit;

query1.FieldByName('gumaek').value:=

query1.FieldByName('danga').value *

query1.FieldByName('suryng').value;

datasource1.dataset.post;

datasource.dataset.next;



end else begin

if fieldcount -1>=selectedfield.index + 1 then

selectedfield := fields[selectedfield.index+1];



end;

end;



end;



procedure TForm1.PrintClick(Sender: TObject);

begin

printdialog1.Execute;

end;



procedure TForm1.CashClick(Sender: TObject);

var

danga,suryng,gumaek : integer;

begin

with query1 do begin

sql.Clear;

close;

Sql.Add(' '''+inttostr(danga)+''' , ');

Sql.Add(' '''+inttostr(suryng)+''' , ');



sql.add('(gumaek.text := IntToStr(StrToInt(danga.Text).asstring + (StrToInt(suryng.text).asstring)');//굳이 그리드에서 계산을 안해도 되죠^^

Sql.Add(' '''+inttostr(gumaek)+''', ');//계산된 값이 들어가는 필드가있다고 할때죠^^

Sql.Add(')');



showmessage(sql.text); //이부분은 Sql문에 어떻게 들어가는지 알려주죠? 나중에 빼세요^^



execsql;// 이부분이 중요합니다. 위의 S

end;















end;



procedure TForm1.Sum_AcountClick(Sender: TObject);

var

sum_Acount: integer;

begin

with query1 do

begin

close;

sql.Clear;

sql.add('select* from gur_maeip');



open;



first;

sum_Acount := 0;





while not EOF do

begin

sum_Acount := sum_Acount + fieldbyname('gumaek').asinteger;

edt_1.text := intTostr(sum_Acount);

next;

end;





end;



end;



procedure TForm1.dtp2CloseUp(Sender: TObject);

begin

with query1 do

begin



close;

sql.clear;

sql.add('select * from gur_maeip');

sql.add('where mdate =:insert_mdate');

parambyname('insert_mdate').asstring:=asdatetime('yyyy-mm-dd',dtp2.date);

Query1.open;



end;

end;



end.



0  COMMENTS
    • 꼴등
    • 2001.07.05 23:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2001.07.06 01:28
      음. ^_^ Sorted 속성을 False로 바꾸면 정렬이 되지 않습니다. 무슨 오해가 있으신듯.. 속성을 Fa...
    • 꼴등
      2001.07.06 03:59
      답변 감사드립니다. 코딩으로 False로 지정해주니까 되네요. 오브젝트 인스펙터에는 분명 False로 되어 ...
    • 구창민
      2001.07.06 01:30
      초보 wrote: > 이거 에러좀 잡아주세요................... DLL의 엑스포트와 임포트 되는 부분과 프로...
    • xxx
    • 2001.07.05 23:20
    • 4 COMMENTS
    • /
    • 0 LIKES
    • Lee
      2001.07.05 23:36
      만약 StringGrid에 타이틀을 갖고있다면 if Query1.RecordCount = 0 then StringGrid1.RowCount := ...
    • 초보
      2001.07.05 23:29
      xxx wrote: > StringGrid는 Query수만큼 count가 자동으로 생성되게 하는 방법을 아시나요? Stringgrid...
    • xxx
      2001.07.05 23:40
      초보 wrote: > xxx wrote: > > StringGrid는 Query수만큼 count가 자동으로 생성되게 하는 방법을 아시나...
    • Lee
      2001.07.06 00:37
      위치 문제일 것 같은데요... RecordCount는 Query가 Open된 후 에 적용됩니다. Query1.Close; Query1....
    • 델초보
    • 2001.07.05 22:11
    • 4 COMMENTS
    • /
    • 0 LIKES
    • Lee
      2001.07.05 23:24
      오류메세지중 "vaild integer value" 메세지는 타입이 틀리므로 나오는 오류입니다. 파라미터 타입이 전...
    • 지나가다.
      2001.07.05 22:23
      필드 타입과 파라미터 타입이 안맞아서 그런것 같네여.... 파라미터를 사용할경우 파라미터 타입을 설정...
    • 델초보
      2001.07.06 00:33
      답변 감사합니다... 그런데... BD의 테이블을 필드타입을 확인햇는데... 자동으로 순번을 부여하는 id(SE...
    • Lee
      2001.07.06 00:47
      insert문장은 모든 필드에 대한 개별적인 data를 주어야하는걸로 알고 있습니다. Update문장은 필요한 필...
    • mallove
    • 2001.07.05 22:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2001.07.05 22:17
      알리아스를 설정하여 작업을 하시면 아무 폴더나라는 말을 쓰신다면 그때마다 아무 폴더를 알리아스의 Pat...
    • 홍성락
      2001.07.05 22:17
      왕초보 wrote: > 버튼을 눌렀 을때 그리드의 더블클릭 이벤트를 주고 싶은데요.. > 어떻게 해야 하는지 ...
    • 홍성락
      2001.07.05 22:31
      인어공주 wrote: > project - option 에서 auto create form1 만 생성이 되게 하고 > form1에 있는 버튼...
    • 델초보
    • 2001.07.05 20:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바람개비
      2001.07.05 20:22
      아래에 같은 질문을 올린것 같은데, 원하는 명령들을 하나의 배치파일에 넣어서 실행하면 되지 않을까요? ...
    • 하기
      2001.07.05 21:23
      일반적으로 C:Program FilesBorlandDelphi5HelpToolshcw.exe 이 화일을 이용하시면 제작하실수 있답니다....
    • 나이스
      2001.07.05 21:41
      제가 이책을 보면서 하고 있었는데 안나오는것 같아요...^^;; 님의 성실한 답변에도 불구하고 제가 컴파일...
    • 하기
      2001.07.05 22:13
      분명히 제가 그책에서 봤거든요.. delphi 5X(4X인가) Bible에서 Help만드는 방법해서 나왔거든요... MSWo...
    • 나이스
      2001.07.05 23:06
      정말 님의 도움에 감사드립니다.... 이제 형식을 알았으니 다시 작업(???)에 들어갈수 있을것 같네요... ...
    • 아폴론
      2001.07.05 20:01
      인어공주 wrote: > 글을 찾아봐도 제 질문은 너무 쉬운것인지.. > > 글이 올라와 있는게 없어서 이렇게...
    • 무스리
    • 2001.07.05 19:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 방문현
      2001.07.06 02:40
      무스리 wrote: > Oracle의 데이타를 ODBC를 이용해 AS400에 insert 하는 데 다음과 같은 에러가 나오는군...
    • 무스리
      2001.07.06 03:33
      답변 잘 보았습니다. 인덱스키에 중복된 값이 들어가면 duplication 에러가 나지요. 지금의 에러는 ...
    • xxx
    • 2001.07.05 19:17
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 바람개비
      2001.07.05 21:57
      **
    • xxx
      2001.07.05 20:55
      제대로 설명을 못드려 죄송합니다... 다시 한번 질문을 올립니다. 소스는 이렇습니다. with StringGrid...
    • 바람개비
      2001.07.05 21:54
      움... 제가 중요하게 생각하는것은 테이블에 어떤형식으로 저장이 되어 있느냐는 것이거든요. 그래야 쿼리...
    • xxx
      2001.07.05 22:08
      이런형식입니다... bk - by - lv 01 - 01 - 01 02 - 02 - 02 03 - 03 - 03 04 - 04 - 04 05 - 05 - 0...