그동안 파빌을 애용하다 델피의 환상적인 인터페이스 디자인에 매료되어 전향(?)한 놈입니다. 이제 쬐금 데이타셋에 감을 잡아 쿼리로 저장하는 루틴을 만들고 있는디 나오는 건 에러뿐이니 환장하것시유... 아시는 분 도움주시면 평생 복받을 겁니다.
[문제] - 간략히
테이블명 : '가나다'
필드 : 가(문자형), 나(수치형), 다(수치형)
변수 : 가져올 값(문자형), 결과값(문자형)
저장루틴
with dm1.query1 do
begin
close;
sql.clear;
sql.add('select 가 from 가나다');
sql.add('where 가 = "'+가져올 값+'"');
open
end;
결과값 := dm1.query1.fieldbyname('가').asstring;
if 결과값 = '' then
begin
with dm1.query1 do
begin
close;
sql.clear;
sql.add('insert into 가나다');
sql.add('(가, 나, 다)');
sql.add('values (:가1, :나1, :다1)');
parambyname('가1').asstring := 가져올 값;
parambyname('나1').asinteger := 매개값1; //나1 := 1,500
parambyname('다1').asinteger := 매개값2; //다1 := 2,000(문제2)
execsql;
end;
end;
문제1) 요렇게 하면 Type msimatch in expression... 요런 메시지가 나오고요
문제2) 그리고 정수형변수값에 형식화된 값(즉 1,500)을 저장할 수 있는지 요거이
때문에 에러가 나는 건지...
문제3) Raize사에서 나온 디버깅툴인 CodeSight(?-맞나) 써보신 분 좋은지 나뿐지
알켜 주시면 땡큐고요 그 외 디버깅툴 조은 거 있음 소개부탁 드리겠습니다.
꾸벅~~~ ^_^
> 그동안 파빌을 애용하다 델피의 환상적인 인터페이스 디자인에 매료되어 전향(?)한 놈입니다. 이제 쬐금 데이타셋에 감을 잡아 쿼리로 저장하는 루틴을 만들고 있는디 나오는 건 에러뿐이니 환장하것시유... 아시는 분 도움주시면 평생 복받을 겁니다.
> [문제] - 간략히
> 테이블명 : '가나다'
> 필드 : 가(문자형), 나(수치형), 다(수치형)
> 변수 : 가져올 값(문자형), 결과값(문자형)
>
> 저장루틴
> with dm1.query1 do
> begin
> close;
> sql.clear;
> sql.add('select 가 from 가나다');
> sql.add('where 가 = "'+가져올 값+'"');
> open
> end;
>
> 결과값 := dm1.query1.fieldbyname('가').asstring;
>
> if 결과값 = '' then
> begin
> with dm1.query1 do
> begin
> close;
> sql.clear;
> sql.add('insert into 가나다');
> sql.add('(가, 나, 다)');
> sql.add('values (:가1, :나1, :다1)');
>
> parambyname('가1').asstring := 가져올 값;
> parambyname('나1').asinteger := 매개값1; //나1 := 1,500
> parambyname('다1').asinteger := 매개값2; //다1 := 2,000(문제2)
> execsql;
> end;
> end;
> 문제1) 요렇게 하면 Type msimatch in expression... 요런 메시지가 나오고요
> 문제2) 그리고 정수형변수값에 형식화된 값(즉 1,500)을 저장할 수 있는지 요거이
> 때문에 에러가 나는 건지...
> 문제3) Raize사에서 나온 디버깅툴인 CodeSight(?-맞나) 써보신 분 좋은지 나뿐지
> 알켜 주시면 땡큐고요 그 외 디버깅툴 조은 거 있음 소개부탁 드리겠습니다.
> 꾸벅~~~ ^_^
>
음... 문제2)번에 쓰신 내용처럼 테스트를 해보셨나요? 타입이 안맞는다고 하면 질문하시기전에 2번같은 경우는 바로 테스트해보시면 될것 같은데요.
제 생각에는 1,500 이라는 값은 integer 형에 저장이 안될걸요.
보통 값은 1500 이라고 넣고 보여줄때만 3자리 마다 ',' 로 구분해서 보여줍니다.
fieldedit를 열어보시면 displayformat 속성에다 표시를해서요.
겜방이라서 테스트는 못해봐서 확실하지는 않지만요. 그럼...