김현수 님이 쓰신 글 :
: 안녕하세요 으...델파이 프로그래머로 입사 4주차인 회사원인데
:
: 엄청나게 큰 벽에 걸렸네요...
:
: 정말 초보라 이렇게 밤을새보다가 안되서 올립니다.ㅠ
:
: 제가 묻고싶은건 데이터베이스에 쿼리를 쓰지않고 직접 값을 입력할수 있는지의 여부입니다.
:
: 보통 회사 프로그램이 쿼리를 사용해서 프로그램 되어있더라구요.
:
: 그리고 셀렉트 쿼리를 보낼때 query.fields[0].asstring 이런방법으로 사용하더라구요
:
: 근데 저기에 값을 저장할수는 없는겁니까?
:
: 왜 이것이 알고싶냐면 시리얼값이 똑같은 세개의 정보들을 각 각 다른값으로(시리얼값은 놔두고)바꾸고 싶은데
:
: 조건을 걸때 시리얼값만 조건을 걸어줘야 합니다. 그래서 생각한게
:
: 저 query.fields[0].asstring 으로 값을 일고 또 넥스트 해서 또 다음의 값을 읽을순 있는데 쓸순 없을까..
:
: 해서 이렇게 질문해봅니다. 제발...신입사원 살려주세요ㅠ
:
: 제가 일단 테스트 해본 프로그램입니다.
:
: querystr:='select cardnumber2 from cardnum where cardnumber1 = ''1111''';
: //테스트기때문에 카드넘버1이 시리얼값이라고 보시면 됩니다.
: Query1.Close;
: Query1.SQL.Clear;
: Query1.SQL.Add(querystr);
: Query1.open;
: for i:=0 to 4 do
: begin
: Query1.Fields[i].AsString:='2222'; //위처럼 쿼리를 날리면 4개의 데이터들이 셀렉트 되는데 그것을 모두 2222로 바꾸고 싶어요
: end;
위의 방법은 가독성, 그리고 유지보수면에서 효률성이 떨어지는것 같아 보입니다.
직접 필드적어주고..파라메터 대입해 주세요..
with Query1 do begin
close;
sql.clear;
sql.add('Inaert into Table1 ');
sql.add('(Field1,Field2...)');
sql.add('vales ');
sql.add('(:PField1, :PField2...)');
Parambyname('PField1').asstring := '값';
...
Execsql;
end;
요런식으로요..
물론 쿼리 앞에서 키값산출..이 있어야 겠지요..
|