sql2000 서버에 저장 프로시져를 만들었습니다.
그리고 아래와 같이 실행 시키면 에러가 나네요...
제가 보기에는 Integer 나 float 형으로 선언된 필드에 문자형으로 보내서 그런거 같은데..
방법이 없을까요?
필드 속성이 숫자형일때 어떻게 해야 문자형을 숫자형으로 변환 해서 넣을 수 있을까요?
Sql.Text := ' EXEC Insert_OIpgoT ''' + SqlData[1] + ''','''+ SqlData[2] + ''','''+SqlData[3]+''', ' +
' '''+SqlData[6]+''','''+SqlData[7]+''','''+SqlData[4]+''','''+SqlData[5]+''','''+SqlData[26]+''', ' +
' '''+SqlData[8]+''','''+SqlData[9]+''','''+SqlData[10]+''','''+SqlData[11]+''', ' +
' '''+SqlData[12]+''',0,'''','''','''+FormatFloat('#,##0.####',vfgStoD(SqlData[21]))+''', ' +
' '''+FormatFloat('#,##0.####',vfgStoD(SqlData[22]))+''','''+FormatFloat('#,##0.####',vfgStoD(SqlData[23]))+''', ' +
' '''+SqlData[24]+''','''','''+SqlData[16]+''','''+SqlData[13]+''','''+SqlData[17]+''','''+SqlData[14]+''', ' +
' '''+SqlData[15]+''','''+SqlData[18]+''','''+SqlData[19]+''','''+SqlData[20]+''','''+SqlData[25]+''' ';
답변 감사드립니다.. 제가 너무 설명을 못한거 같네요. .ㅠ.ㅠ
SqlData[1]~[25]까지 전부 문자형으로 선언되어 있고요..
저중에.. [5]~[20] 까지가 숫자형입니다..
우선 말씀 하신 내용대로 함 해보겠씁니다.. 감사합니다.
Query.SQL.Clear;
Query.SQL.Add('INSERT INTO 테이블 (컬럼1, 컬럼2, 컬럼3) ');
Query.SQL.Add(' VALUES (:컬럼1, :컬럼2, :컬럼3); ');
Query.ParamByName('컬럼1').AsDateTime := NOW;
Query.ParamByName('컬럼2').AsInteger := 5555;
Query.ParamByName('컬럼3').AsFloat := 5.11;
요러케 써보시는건 어떨런지..?
문자형 변환 함수는
StrToInt('55555');
StrToFloat('5.5');
답변 감사합니다.. 우선 여러 가지 방법으로 함 해보려고 합니다..
말씀 하신 내용 참고해서 작업해 볼께요.. ^^