|
DBExpress에서 데이타를 insert할때
SQLDataSet1->SQLConnection = SQLConnection1;
SQLDataSet1->CommandType = ctQuery;
AnsiString sql = "insert into student(hakbun, name, subject, db) Values (:hakbun, :name, :subject, :db)";
SQLDataSet1->CommandText = sql;
SQLDataSet1->ParamByName("hakbun")->AsString = Edit1->Text;
SQLDataSet1->ParamByName("name")->AsString = Edit2->Text;
SQLDataSet1->ParamByName("subject")->AsString = Edit3->Text;
SQLDataSet1->ParamByName("db")->AsInteger = StrToInt(Edit4->Text);
DBX Error Invalid Field Type 이라는 런타임 에러가 납니다.
AsInteger부분에서 데이터 타입이 안 맞는것 같습니다.
DB는 오라클을 사용하는데 Data Type는 hakbun, name, subject는 VARCHAR2 이고
db는 NUMBER입니다.
함수를 AsInteger 대신 AsFloat로 해도 에러가 납니다.
참고로 BDE를 이용할때는 에러가 안납니다.
그런데 너무나 신기한것은 AsString으로 하면 데이터가 추가가 된다는 것이죠.
어찌 이런 경우가.....ㅠ.ㅠ
DBExpress에서 문제가 있는건지 아님 다른 해결점이 있는건지 궁금합니다.
아시는 분은 꼭 답변 부탁드립니다.
|