Q&A

  • Invalid precision value 에러메시지
ADOQuery에서 Update명령을 사용해서  MS-Acess를 제어하는데
발생하는 에러이네요 현재 Delphi 7을 사용중입니다.


얼마전 똑같은 질문을 드렸는데, 관심가지고 답해주신분이 계셧지만
그 문제는 아닌듯하여 다시 질문드립니다.

분명 Access에서는 Null허용필드인 c_jong, c_year 필드에 아래와
같이 Update, Insert시 이 필드에 입력하는 값인 edt_CJong_02.Text,
edt_CYear_02.Text에 값이 없으면 제목과 같은 에러메시기자 발생하네요


물론 SQL Explorer에서는 에러가 발생하지 않습니다. ADOQuery컴퍼넌트의
문제인지? 대체 감이 안오네요...

요건 SQL Exploere에서 Insert문장인데 전혀 문제없이 Insert가 되네요
insert into car_mst (c_no, c_jong, c_year) values ('1234', null, '')
insert into car_mst (c_no) values ('12345')


procedure TF_Main.btn_Update_02Click(Sender: TObject);
begin
{
  With DM.ADO_Q do
    begin
      Close;
      SQL.Clear;
      SQL.Add('update car_mst set');
      SQL.Add('       c_no   = "' + edt_CNo_02.Text + '" ');
      SQL.Add(',      c_jong = "' + edt_CJong_02.Text + '" ');
      SQL.Add(',      c_year = "' + edt_CYear_02.Text + '" ');
      SQL.Add(' where c_key  =  ' + lbl_CKey_02.Caption);
      ExecSQL;
    end; // end of with...
}
  With DM.ADO_Q do
    begin
      Close;
      SQL.Clear;
      SQL.Add('update car_mst set');
      SQL.Add('       c_no   = :c_no ');
      SQL.Add(',      c_jong = :c_jong ');
      SQL.Add(',      c_year = :c_year ');
      SQL.Add(' where c_key  = :c_key ');
      Parameters.ParamByName('c_no').Value := edt_CNo_02.Text;
      Parameters.ParamByName('c_jong').Value := edt_CJong_02.Text;
      Parameters.ParamByName('c_year').DataType := ftString;
      Parameters.ParamByName('c_year').Value := edt_CYear_02.Text;
      Parameters.ParamByName('c_key').Value := lbl_CKey_02.Caption;
      ExecSQL;
    end; // end of with...
end;

여기서 ParamByName('c_jong').DataType = ftString을 모두 설정해줘도 에러가 발생합니다.

물론  Acess에는 c_no이외에는 모두 데이타형식은 [텍스트] 이고 Null값허용이구요 Index도 안잡혀있구...


그리고 주석 안쪽 코드를 실행시켜보면 Too few Parameters...뭐라뭐하면서 에러가 발생하네요... 이건 또 뭔지..ㅠㅠ

뭔 이유인지요?


0  COMMENTS
    • 엘짱
    • 2004.02.19 22:11
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 권영길
      2004.02.19 22:45
      없는페이지는 404 에러가 정상이지만 그건 서버 맘(?)입니다. 위의 경우의 500에러는 서버에서 클라이언트...
    • 하창호
      2004.03.03 17:27
      MS 익스플로어만 전용으로 accept하는 웹이 있다고 하셨는데 인디 콤포넌트로 접속하려면 그 부분은 어떻...
    • mrdelphi
    • 2004.02.19 18:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박민규
    • 2004.02.19 17:33
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2004.02.23 03:58
      SELECT GUBUN,        MAX(DECODE(LOC, 'G1', NM))  G1,  ...
    • 박민규
      2004.02.24 15:59
      이런 간단한 방법이 있었다니... 다시한번 오라클의 놀라운 능력에 감탄할 뿐입니다... 물론 이런 쿼리를 ...
    • 김수현
      2004.02.19 22:42
      제가 예전에 엑세스로 고민했던 사항이네요. 고민하다가 VB로 루프를 돌면서 새로운 테이블에 생성하는 부...
    • 박민규
      2004.02.20 15:55
      우선 답변 감사드립니다... 하지만 궁금한게 또 있어서리... 그럼 오라클로는 해결할만한 쿼리가 있는...
    • 성더기
      2004.02.20 18:34
      위치정보가 G1~G4까지 고정적이라면 각각을 가져오는 쿼리를 인라인 뷰로 만들고 그것을 시간을 기준으로...
    • 박민규
      2004.02.24 15:55
      먼저 답변 정말 감사드립니다... 근데 님의 조언대로 엑세스에서 해봤더니 에러가 나더군여... 후밍 제...
    • 손희석
    • 2004.02.19 16:02
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.02.19 18:24
      안녕하세요. 최용일입니다. 델파이에 잘 적용되어져서 사용되고 있다고 생각하는데요... 가장 대표적...
    • 손희석
      2004.02.19 23:12
      우선 답변에 대해 감사드립니다. 델파이의 OOP메카니즘에 관한 책이나 원서를 좀 추천 부탁드립니다 ^^ ...
    • 하창훈
    • 2004.02.19 07:28
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김원석
    • 2004.02.19 03:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Mr. Ziker
      2004.02.20 21:33
      예전에 작업했던 소스중에 있더군요.. lbShowCTime.Caption := SecToTime(Round(ZMediaPlayer.CurrentPo...
    • 김원석
      2004.02.24 22:49
      답해주신 거 감사합니다. ^^ 하지만 zmediaplayer가 어떤건지 잘 모르겠구요..^^   Window...
    • superman
    • 2004.02.19 01:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 온진욱
    • 2004.02.19 00:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 01:16
      안녕하세요. 패키지 통째를 인스톨하지 않는한 대부분 개별 컴퍼넌트는 dclusr.dsk 에 포함되어 컴파일 됩...
    • help me
    • 2004.02.19 00:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 00:53
      안녕하세요. ^는 포인터 변수를 통한 값의 참조이고 @는 포인터 변수의 주소값을 대입하는 것입니다. ...
    • 정민섭
    • 2004.02.19 00:08
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 윤상현
    • 2004.02.18 22:26
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김운필
      2004.02.21 03:01
      C 스타일과 비슷하게 하려면 FileOpen, FileSeek, FileRead, FileClose 함수 이용하세요   ...
    • 이중철
      2004.02.18 22:47
      쩝 델파이는 한방 입니다 var MS : TMemoryStream; begin   MS := TMemoryStream.Create; ...
    • 윤상현
      2004.02.18 23:50
      이렇게 하면 읽을 파일이 텍스트 이던지, 바이너리이던지 상관없이 바이너리형태로 읽어들인단 말씀이신...
    • 이중철
      2004.02.20 02:52
      Text 화일이니 Binary화일이니 이미지화일이니 그런것들은 프로그램에서 어떻게 Assign 하는가의 문제 입...
    • 김수현
    • 2004.02.18 22:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.02.19 00:41
      안녕하세요. 저도 확인해볼려고 하는데 Delphi 버젼이 몇이지요? 전 6.0 쓰는데 FixedCols 란 프로퍼티는...
    • 김수현
      2004.02.19 17:58
      죄송합니다. 제가 질문을 제대로 못했나보네요. 그러니까 DBGrid에서 StringGrid의 속성을 사용하기 위...
    • 송현미
    • 2004.02.18 20:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Galaxy
      2004.02.18 20:50
      처음에 저도 MYSQL 사용하기 위해서 모든 서점을 다지고 다녀죠 그런데 서점에는 책이거의 없다라고요 (2...
    • 송현미
      2004.02.18 20:57
      우선 감사 드리구요 영어가 짧기는 하지만... 책도 보고.... www.MySQl.Com에서 다운받아서 해보도록 하...
    • Crazy
      2004.02.19 01:35
      등록하라는 메시지인데요.... 정식버젼이 아닌가보네요..
    • 엑기스
    • 2004.02.18 18:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2004.02.18 19:08
      전 잘됩니다만... Panel과 Edit의 TabOrder를 둘다 0으로 주세요 또는 델파이6(5에도 있는지는 모르겠...
    • 엑기스
      2004.02.19 01:04
    • 윤상현
    • 2004.02.18 18:14
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 2004.02.18 23:34
      일단 아래처럼 만드니.. 문제가 없네요... 단 문제가 있다면.. 올려주신 hex 파일은 사용하지 않았다는 거...
    • 윤상현
      2004.02.18 23:56
      아래 코드로 프로그램을 했더니 잘 변환이 되더군요.... 감사... 감사.... 그런데 제가 하려던 것은 ...
    • 2004.02.19 00:33
      인텔 헥사 파일의 포멧을 올려 드리겠습니다.. 지금 제가 그것을 이용해서 코드를 짤 마음이 아니라서.. ...
    • 이중철
      2004.02.18 22:44
      대충 프로그램 Hex -> Bin은 만들었거든요 Bin -> Hex도 같은 방법으로 하면 됩니다. OpenDialog...
    • 2004.02.18 07:51
    • 0 COMMENTS
    • /
    • 0 LIKES