Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
TQuery를 이용하여 직접 테이블에 값대입은??
테이블에 직접 값을 다이렉트로 넣고 싶습니다.
예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
CodeName필드에 'kkk'를 넣는다든지.... 등등
params을 이용했는데 잘 되지가 않습니다.
부탁합니다.
4
COMMENTS
여영식
•
2000.01.12 19:19
TQuery 컴포넌트는 기본적으로 SQL 문을 사용해서 테이블을 수정하는것이 좋습니다.
그러나
Query1.RequestLive := True;
Query1.Edit;
Query1.FieldByName('CodeName').AsString := 'kkk';
Query1.Post;
이런 식으로 하면 될것 같습니다.
---
초보 wrote:
> 테이블에 직접 값을 다이렉트로 넣고 싶습니다.
> 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
> CodeName필드에 'kkk'를 넣는다든지.... 등등
> params을 이용했는데 잘 되지가 않습니다.
> 부탁합니다.
>
0
0
삭제
수정
댓글
정은아
•
2000.01.12 23:39
제가 미처 생각지 못한 부분이라 코딩을 따라 해보다가 안되서 생각해보니까요..
Quary 컴포넌트는 테이블 이름을 지정해줄 수 없지 않나요?
아래 보면 테이블 이름을 정하는 내용은 없네요..
테이블 지정을 해야 거기서 해당되는 걸 검색을 하던지 할 수 있는 거 아닌가요?
제가 하다하다 안돼서 질문 올립니다. 갈켜주세요^^
여영식 wrote:
> TQuery 컴포넌트는 기본적으로 SQL 문을 사용해서 테이블을 수정하는것이 좋습니다.
> 그러나
> Query1.RequestLive := True;
> Query1.Edit;
> Query1.FieldByName('CodeName').AsString := 'kkk';
> Query1.Post;
> 이런 식으로 하면 될것 같습니다.
> ---
> 초보 wrote:
> > 테이블에 직접 값을 다이렉트로 넣고 싶습니다.
> > 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
> > CodeName필드에 'kkk'를 넣는다든지.... 등등
> > params을 이용했는데 잘 되지가 않습니다.
> > 부탁합니다.
> >
0
0
삭제
수정
댓글
여영식
•
2000.01.13 02:39
TQuery에서는 테이블을 지정할 수 없습니다. TQuery 컴포넌트는 기본적으로 SQL 문 즉
INSERT, UPDATE, DELETE, SELECT을 이용해서 데이터를 수정,조회할 수 있는것이지요.
따라서 직접 테이블에 값을 대입하기 위해서는 먼저 Query가 조회상태이어야 합니다.
예를들면
with Query1 do
begin
Sql.Close;
Sql.Clear;
Sql.Add('SELECT * FROM TEST');
Sql.Open;
end;
이렇게 하면 Query가 조회상태가 되지요.
이 상태에서 입력, 수정 하기 위해서
Query1.RequestLive := True;
Query1.Append; -> 입력시
Query1.Edit; -> 수정시
Query1.FieldByName('CodeName').AsString := 'kkk';
Query1.Post;
하면 저장이 되겠습니다. 그러나 저장이 되었다고 현재 조회상태인 자료에 추가가 되는것
은 아닙니다. 따라서 새로운 데이터를 읽기 위해 Query를 Close 후 다시 Open하는 과정이
필요합니다.
믿거나말거나...
---
정은아 wrote:
> 제가 미처 생각지 못한 부분이라 코딩을 따라 해보다가 안되서 생각해보니까요..
> Quary 컴포넌트는 테이블 이름을 지정해줄 수 없지 않나요?
> 아래 보면 테이블 이름을 정하는 내용은 없네요..
> 테이블 지정을 해야 거기서 해당되는 걸 검색을 하던지 할 수 있는 거 아닌가요?
> 제가 하다하다 안돼서 질문 올립니다. 갈켜주세요^^
>
> 여영식 wrote:
> > TQuery 컴포넌트는 기본적으로 SQL 문을 사용해서 테이블을 수정하는것이 좋습니다.
> > 그러나
> > Query1.RequestLive := True;
> > Query1.Edit;
> > Query1.FieldByName('CodeName').AsString := 'kkk';
> > Query1.Post;
> > 이런 식으로 하면 될것 같습니다.
> > ---
> > 초보 wrote:
> > > 테이블에 직접 값을 다이렉트로 넣고 싶습니다.
> > > 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
> > > CodeName필드에 'kkk'를 넣는다든지.... 등등
> > > params을 이용했는데 잘 되지가 않습니다.
> > > 부탁합니다.
> > >
0
0
삭제
수정
댓글
오장균
•
2000.01.14 00:46
저도 이문제로 테스트를 했었는데, 어떻게 어떻게 하다보니 잘 되더라구요...
그래서 안심하고 프로그래밍을 계속한뒤 실행을해보니 난대없이 Read-Only뭐라뭐라는
에러가 나더군요... ^^;
여기 답변을 보고서야 안심을 하고 테스트를 했었는데... 왜 안되는지... T.T
그러나 결국 나에게 그 한계를 보였으니... 하하하~
우선 TQuery를 이용한 결과에서 값을 변경할 수 있습니다. 그 방법들은 여영식님께서 답변해 주신 그대로 죠...
그러나 그 SQL에 문제가 있습니다.
SQL을 아래과 같이 몇가지로 보였는데
SQL1 - 'SELECT * FROM "D:MASTER.DBF"'
SQL2 - 'SELECT * FROM "D:MASTER.DBF" WHERE CHKUPLOAD = TRUE'
SQL3 - 'SELECT * FROM "D:ProjectDB2PSDatabaseMASTER.DBF" WHERE CHKUPLOAD = TRUE ORDER BY SYMBOL ASC'
입니다.
여기서 SQL1번과 SQL2번은 Query1.Edit에 의해 수정이 가능합니다.
그러나 소팅되어진 결과인 SQL3번은 Read-Only입니다.
변경이 불가능하죠...
물론 제 결과는 제가 테스트한 것에 의한 자료입니다.
혹시 ODER BY 절이 들어간 것을 Edit로 변환할 수 있는 방법을 아시는 분은 제게 메일을 보내 주시면 감사하겠습니다.
여영식 wrote:
> TQuery에서는 테이블을 지정할 수 없습니다. TQuery 컴포넌트는 기본적으로 SQL 문 즉
> INSERT, UPDATE, DELETE, SELECT을 이용해서 데이터를 수정,조회할 수 있는것이지요.
> 따라서 직접 테이블에 값을 대입하기 위해서는 먼저 Query가 조회상태이어야 합니다.
> 예를들면
> with Query1 do
> begin
> Sql.Close;
> Sql.Clear;
> Sql.Add('SELECT * FROM TEST');
> Sql.Open;
> end;
>
> 이렇게 하면 Query가 조회상태가 되지요.
> 이 상태에서 입력, 수정 하기 위해서
>
> Query1.RequestLive := True;
> Query1.Append; -> 입력시
> Query1.Edit; -> 수정시
> Query1.FieldByName('CodeName').AsString := 'kkk';
> Query1.Post;
>
> 하면 저장이 되겠습니다. 그러나 저장이 되었다고 현재 조회상태인 자료에 추가가 되는것
> 은 아닙니다. 따라서 새로운 데이터를 읽기 위해 Query를 Close 후 다시 Open하는 과정이
> 필요합니다.
>
> 믿거나말거나...
>
> ---
>
>
>
> 정은아 wrote:
> > 제가 미처 생각지 못한 부분이라 코딩을 따라 해보다가 안되서 생각해보니까요..
> > Quary 컴포넌트는 테이블 이름을 지정해줄 수 없지 않나요?
> > 아래 보면 테이블 이름을 정하는 내용은 없네요..
> > 테이블 지정을 해야 거기서 해당되는 걸 검색을 하던지 할 수 있는 거 아닌가요?
> > 제가 하다하다 안돼서 질문 올립니다. 갈켜주세요^^
> >
> > 여영식 wrote:
> > > TQuery 컴포넌트는 기본적으로 SQL 문을 사용해서 테이블을 수정하는것이 좋습니다.
> > > 그러나
> > > Query1.RequestLive := True;
> > > Query1.Edit;
> > > Query1.FieldByName('CodeName').AsString := 'kkk';
> > > Query1.Post;
> > > 이런 식으로 하면 될것 같습니다.
> > > ---
> > > 초보 wrote:
> > > > 테이블에 직접 값을 다이렉트로 넣고 싶습니다.
> > > > 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
> > > > CodeName필드에 'kkk'를 넣는다든지.... 등등
> > > > params을 이용했는데 잘 되지가 않습니다.
> > > > 부탁합니다.
> > > >
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
황선희
2000.01.12 19:43
0
COMMENTS
/
0
LIKES
MidasConnection과 SocketConnection의 차이에 대해서..
초보왕
•
2000.01.12 19:35
1
COMMENTS
/
0
LIKES
여영식님 보십시요--에러
여영식
•
2000.01.12 20:24
제가 문제를 잘못 이해했었습니다. 이렇게 해보세요. var DataFile: TFileStream; Data: TData; i ...
김진호
•
2000.01.12 19:16
1
COMMENTS
/
0
LIKES
배열을 동적으로 생성하려면?
여영식
•
2000.01.12 19:28
동적 배열 생성은 다음과 같이 합니다. 자세한 사항은 도움말을 참고하세요. var a: array of Integer;...
델초
2000.01.12 18:56
0
COMMENTS
/
0
LIKES
죄송..아래 글 좀 지워주세요.글쓰기에서 에러가 나서 여러번 했더니..
초보왕
•
2000.01.12 18:47
1
COMMENTS
/
0
LIKES
다시 궁금
여영식
•
2000.01.12 19:13
이런 유형이 될것 같습니다. 변수형 주에서 File of Data 형식은 Read 시 Count 를 지정할 수 없기 때문에...
김동식
•
2000.01.12 18:28
1
COMMENTS
/
0
LIKES
word형->byte형변환
여영식
•
2000.01.12 18:57
제가 볼때는 아무런 문제가 없어 보입니다. StoreBuffer 인자값으로 전달되는 것은 LongInt형의 주소를 전...
초보
•
2000.01.12 18:25
4
COMMENTS
/
0
LIKES
TQuery를 이용하여 직접 테이블에 값대입은??
테이블에 직접 값을 다이렉트로 넣고 싶습니다. 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지 CodeName필드에 'kkk'를 넣는다든지.... 등등 params을 이용했는데 잘 되지가 않습니다. 부탁합니다.
여영식
•
2000.01.12 19:19
TQuery 컴포넌트는 기본적으로 SQL 문을 사용해서 테이블을 수정하는것이 좋습니다. 그러나 Query1.Reque...
정은아
•
2000.01.12 23:39
제가 미처 생각지 못한 부분이라 코딩을 따라 해보다가 안되서 생각해보니까요.. Quary 컴포넌트는 테이블...
여영식
•
2000.01.13 02:39
TQuery에서는 테이블을 지정할 수 없습니다. TQuery 컴포넌트는 기본적으로 SQL 문 즉 INSERT, UPDATE, DE...
오장균
•
2000.01.14 00:46
저도 이문제로 테스트를 했었는데, 어떻게 어떻게 하다보니 잘 되더라구요... 그래서 안심하고 프로그래밍...
shary
2000.01.12 11:38
0
COMMENTS
/
0
LIKES
charset에 관해 알려주세요.
델초
•
2000.01.12 10:22
1
COMMENTS
/
0
LIKES
파일에서 원하는 라인의 삭제는요??
여영식
•
2000.01.12 19:26
간단한 방법으로 다음과 같이 사용해 보세요. (시험해 보진 않았습니다. 아이디어 입니다.) var Data: ...
델초
•
2000.01.12 10:21
1
COMMENTS
/
0
LIKES
파일에서 원하는 라인의 삭제는요??
이정욱
•
2000.01.13 01:45
이런식으로 직문을 하시면 아무도 답변을 안해줄겁니다. 세상에... 아래 같은글을 8개나... 마구 ...
홍영기
•
2000.01.12 08:53
1
COMMENTS
/
0
LIKES
(퀵레포트) QRLabel에서 세로쓰기
강인규
•
2000.01.13 00:11
좀 무식하기는 합니다만...... 퀵레포트 온프리뷰 이벤트에 아래와 같이 코딩합니다. Qrlabel1.caption'...
돌맹이
•
2000.01.12 06:13
1
COMMENTS
/
0
LIKES
Tab 키의 아스키코드를 알고 싶습니다.
이영수
•
2000.01.12 11:15
돌맹이 wrote: > 안녕하세요~~ ^0^ > > 델파이 초짜 돌맹입니다. > > 고수님들은 아주 간단한 문제...
wsK
•
2000.01.12 05:44
2
COMMENTS
/
0
LIKES
(긴급)고수님의 자문을 구합니다.
여영식
•
2000.01.12 19:32
프로퍼티에 보시면 TabStop 이란 프로퍼티가 있죠? 이 프로퍼티를 False 로 하면 탭을 눌렀을 때 이동이 ...
wsK
•
2000.01.12 20:56
여영식 wrote: > 프로퍼티에 보시면 TabStop 이란 프로퍼티가 있죠? > 이 프로퍼티를 False 로 하면 탭을...
정민석
2000.01.12 05:27
0
COMMENTS
/
0
LIKES
param에 대해서 좀 가르쳐 주세요....
김종욱
•
2000.01.12 05:08
1
COMMENTS
/
0
LIKES
데이터베이스내의 값 자동 계산
강인규
•
2000.01.12 23:53
전체를 한번실행시키면 될것같군요.... table1.first; while not table1.eof do begin table1.edit; ...
김진호
•
2000.01.12 04:46
2
COMMENTS
/
0
LIKES
ToolBar에 동적으로 Button을 생성하려면???
우상호
•
2000.07.27 01:13
김진호 wrote: > 질문이 있습니다!. > MDI에서 ChildForm이 최소화 될때 > ToolBar에 버튼이 동적으로 ...
배불뚝
•
2000.01.12 22:34
김진호 wrote: > 질문이 있습니다!. > MDI에서 ChildForm이 최소화 될때 > ToolBar에 버튼이 동적으로 ...
남주니
2000.01.12 04:44
0
COMMENTS
/
0
LIKES
폼을 동적으루 만들어 지게...
박성훈
2000.01.12 04:35
0
COMMENTS
/
0
LIKES
파라독스에서 실시간 데이터 갱신하기
이희선
•
2000.01.12 04:29
1
COMMENTS
/
0
LIKES
Interbase DB를 Connect하려면?
오현수
•
2000.01.12 18:33
이희선 wrote: > 안녕하세요. > Server용 Interbase를 NT서버에 인스톨하고 데이타베이스와 테이블을 생...
박성훈
2000.01.12 04:19
0
COMMENTS
/
0
LIKES
System illegally re-entered의 원인은?(급!급!)
초보
2000/01/12 18:25
Views
459
Likes
0
Comments
4
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
그러나
Query1.RequestLive := True;
Query1.Edit;
Query1.FieldByName('CodeName').AsString := 'kkk';
Query1.Post;
이런 식으로 하면 될것 같습니다.
---
초보 wrote:
> 테이블에 직접 값을 다이렉트로 넣고 싶습니다.
> 예를 들어 현재레코드의 3번째 필드에 'jjj'를 대입한다든지
> CodeName필드에 'kkk'를 넣는다든지.... 등등
> params을 이용했는데 잘 되지가 않습니다.
> 부탁합니다.
>