인터베이스 6.5와 델파이7을 이용하여 간단한 프로그램을 하나 만드는 중입니다.
프로그램에 관련되어 간략하게 설명을 하자면
Edit1 도서명을 입력하고 Edit2 정가를 입력합니다.
저장하기 버튼을 누르면 SQL문을 이용하여 인터베이스로 데이터가 저장되게 해놓았습니다.
궁금한 점은 인터베이스에서 테이블을 생성 할때
도서명은 VC(60),
정가는 INTEGER로 만들었습니다.
1. Edit1과 Edit2에 입력을 하고 저장을 하면 저장이 잘 됩니다.
그런데 제가 알고 있기로는 Edit는 STRING으로 값을 받기 때문에
도서명은 저장이 잘되지만 정가는 INTEGER로 변환해 주어야 하는거 아닌가요??
근데 저장이 너무 잘됩니다... 왜그런걸까요?
2. Edit1과 Edit2에 아무것도 입력을 하지않고 저장을 하면 Error 뜹니다.
conver...머라고 하면서 형변환을 해주어야 한다고 나옵니다.
그래서 Edit2에만 값을 넣고 저장을 하니 또 잘됩니다.
값이 있으면 자동으로 INTEGER로 형변환이 되어서 값이 들어가는건가요??
초보인 저로서는 도무지 이해가 가지 않습니다.
3. 제가 사용하는 SQL문입니다.
with Query1 do begin // 중복값이 아니므로 edit값을 database table에 입력한다.
Close;
SQL.Clear;
SQL.Add('Insert into AAA (AA1, AA2) Values');
SQL.Add('("'+Edit1.Text+'", "'+Edit2.Text+'")'); - 5
end;
이런식으로 사용하고 있는데요 제가 형변환을 해주려고
var
aa : integer;
aa := strtoint(Edit2.Text);
하고 저기 SQL문의 다섯번째 줄 Edit2.Text 부분에 aa를 넣고 하면 에러가 납니다. 아에 실행도 되지 않습니다.
봤더니 스트링만 입력이 되더군요... 뭐가문젠지 책을 봐도 잘 모르겠습니다. 조언 부탁 드립니다.
|