sql 검색, 입력, 수정, 삭제에 대해 소스를 좀 부탁합니다..
저두 어느 정도는 아는데..먼가 안되는군요..
제가 하는걸 말씀 드리죠..
검색 에서는 콤보박스에서 검색하는게 조금 걸리구요...아이템설정이 잘못되서 그렇는지 잘안되네요..
수정에서는 db를 가져와서 수정을 하면 수정이 되어야 하는데 그게 db쪽에 저장이 잘안되구요..
입력은 자세히 소스를 부탁합니다..
삭제두...
제 소스를 올려드릴게요..
=========검색================
q1.close;
q1.sql.clear;
q1.sql.add(' select * from h_hakj,h_hakgwa ');
//hakbun, kname, grade, sex, gwaname from h_hakj,h_hakgwa ');
q1.sql.add(' where hakbun is not null ');
if hakbun1.text <> '' then q1.sql.add(' and hakbun like "'+hakbun1.text+'%" ');
if kname1.text <> '' then q1.sql.add(' and kname like "'+kname1.text+'%" ');
if grade1.itemindex > 0 then q1.sql.add(' and grade = "'+inttostr(grade1.itemindex)+'" ');
if sex.itemindex > 0 then q1.sql.add(' and sex = "'+sex.items[sex.itemindex]+'" ');
if gwaname1.itemindex > 0 then q1.sql.add(' and gwaname = "'+gwaname1.items[gwaname1.itemindex]+'" ');
q1.sql.add(' order by hakbun, kname, grade, sex, gwaname ');
q1.open;
================수정===================
q1.close;
q1.sql.clear;
q1.sql.add(' update h_hakj ');
q1.sql.add(' set hakbun = :hakbun ');
q1.sql.add(' where hakbun = "'+hakbun.text+'" ');
q1.ParamByName('hakbun').asstring := hakbun.text;
q1.execsql;
hakjf.close;
======================입력=======================
q1.close;
q1.sql.clear;
q1.sql.add(' insert into h_hakj ');
q1.sql.add(' (hakbun, kname, hname, ename,) ');
q1.sql.add(' values (:hakbun, :kname, :hname, :ename,) ');
q1.parambyname('hakbun').asstring := hakbun.text;
q1.parambyname('kname').asstring := kname.text;
q1.parambyname('hname').asstring := hname.text;
q1.parambyname('ename').asstring := ename.text;
q1.execsql;
showmessage('저장 완료');
==========================================================
대충 이런식입니다..
고수님들 부탁합니다.........
> sql 검색, 입력, 수정, 삭제에 대해 소스를 좀 부탁합니다..
> 저두 어느 정도는 아는데..먼가 안되는군요..
> 제가 하는걸 말씀 드리죠..
> 검색 에서는 콤보박스에서 검색하는게 조금 걸리구요...아이템설정이 잘못되서 그렇는지 잘안되네요..
> 수정에서는 db를 가져와서 수정을 하면 수정이 되어야 하는데 그게 db쪽에 저장이 잘안되구요..
> 입력은 자세히 소스를 부탁합니다..
> 삭제두...
> 제 소스를 올려드릴게요..
>
>
>
> =========검색================
> q1.close;
> q1.sql.clear;
> q1.sql.add(' select * from h_hakj,h_hakgwa ');
> //hakbun, kname, grade, sex, gwaname from h_hakj,h_hakgwa ');
> q1.sql.add(' where hakbun is not null ');
> if hakbun1.text <> '' then q1.sql.add(' and hakbun like "'+hakbun1.text+'%" ');
> if kname1.text <> '' then q1.sql.add(' and kname like "'+kname1.text+'%" ');
> if grade1.itemindex > 0 then q1.sql.add(' and grade = "'+inttostr(grade1.itemindex)+'" ');
> if sex.itemindex > 0 then q1.sql.add(' and sex = "'+sex.items[sex.itemindex]+'" ');
> if gwaname1.itemindex > 0 then q1.sql.add(' and gwaname = "'+gwaname1.items[gwaname1.itemindex]+'" ');
> q1.sql.add(' order by hakbun, kname, grade, sex, gwaname ');
> q1.open;
>
>
>
> ================수정===================
> q1.close;
> q1.sql.clear;
> q1.sql.add(' update h_hakj ');
> q1.sql.add(' set hakbun = :hakbun ');
> q1.sql.add(' where hakbun = "'+hakbun.text+'" ');
> q1.ParamByName('hakbun').asstring := hakbun.text;
>
>
> q1.execsql;
> hakjf.close;
>
>
> ======================입력=======================
> q1.close;
> q1.sql.clear;
> q1.sql.add(' insert into h_hakj ');
> q1.sql.add(' (hakbun, kname, hname, ename,) ');
> q1.sql.add(' values (:hakbun, :kname, :hname, :ename,) ');
> q1.parambyname('hakbun').asstring := hakbun.text;
> q1.parambyname('kname').asstring := kname.text;
> q1.parambyname('hname').asstring := hname.text;
> q1.parambyname('ename').asstring := ename.text;
> q1.execsql;
> showmessage('저장 완료');
>
>
>
> ==========================================================
>
> 대충 이런식입니다..
> 고수님들 부탁합니다.........
>
님이 올리신 글 잘 보았습니다.
제가 나름대로 소스를 편집하여 올릴께여.. 참고하세여..
검색~~
var
str : string;
begin
str := 'select * from h_hakj,h_hakgwa where hakbun is not null ';
if hakbun1.text <> '' then str := str + 'and hakbun1 = :ahakbun ';
if hname1.text <> '' then str := str + 'and kname = :ahname ';
if grade1.itemindex > 0 then str := str + 'and sex = :agrade ';
if sex.itemindex > 0 then str := str + 'and sex = :asex ';
if gwaname1.itemindex > 0 then str := str + 'and gwaname = :agwaname ';
str := str + 'order by kakbun, kname, grade, sex, gwaname';
memo.lines.text := str;
// 쿼리를 돌리기전에 memo박스로
쿼리 내용을 확인 해 보세여..자칫 띄어쓰기가 틀려서 error 날수도 있으니..
with q1 do begin
close;
sql.clear;
sql.add(str);
if hakbun1.text <> '' then parambyname('ahakbun').asstring := hakbun1.text+'%';
if hname1.text <> '' then parambyname('ahname').asstring := '%'+kname1.text+'%';
if grade1.itemindex > 0 then parambyname('agrade').asstring := inttostr(grade1.itemindex);
if sex.itemindex > 0 then parambyname('asex').asstring := sex.items[sex.itemindex];
if sex.itemindex > 0 then parambyname('agwaname').asstring := gwaname.items[sex.itemindex];
sql.open;
end;
end;
수정~~
var
upstr : str;
begin
upstr := 'update h_hakj set hakbun = :ahakbun where hname = :ahname';
with q1 do begin updateobject :=updatesql1; close;
sql.clear;
sql.add(upstr);
parambyname('ahakbun').asstring := hakbun1.text;
parambyname('ahname').asstring := hname1.text;
execsql;
q1.commits;
end;
end;
입력, 삭제는 위 쿼리문을 잘 조합하여 만들면 될것입니다.