|
님이 쓰신 글 :
: 김시환 님이 쓰신 글 :
: : MySQL 에 접속하기 위한 컴포넌트는
: :
: : TQuery, TSQLConnection, TSQLDataSet 3가지를 사용했습니다. 빌더 버젼은 6.0입니다.
: : 저장은 아래와 같이 코딩을 했습니다.
: :
: : AnsiString command ;
: :
: : command.sprintf("insert into %s.liv_25c(BOSA_ID,LOT_NUM,M_DATE,TEC_Pass_Fail,Human) value('%s','%s','%s','Fail','%s')",
: : g_stMachine_Data.Database.Data_Database.c_str(),
: : g_stSampleInform.Sample_Serial[m_iSampleGroup][Channel].c_str(),
: : g_stSampleInform.LOT_Number.c_str(),
: : TDateTime::CurrentDateTime().FormatString("YYYY-MM-DD hh:mm:ss"),
: : m_asOperator.c_str()) ;
: :
: : SQLDataSet1->CommandText = command ;
: : SQLDataSet1->ExecSQL(true) ;
: :
: : 문제는 m_asOperator 가 영어는 잘 저장이 되는데 한글하면 저장이 안돼는 문제가 생깁니다.
: : 디버깅으로 command 를 보면 정상적으로 한글이 들어가 있습니다.
: :
: : 다른 프로그램에서는 정상적으로 한글입력이 됩니다.
: :
: : 제가 Database 쪽은 잘 해보지 못해서 원인을 찾기가 어렵네요..
: :
: : 도움을 부탁드립니다.
: :
:
:
: 빌더6이면 유니코드를 지원하지 않아서 MySQL Table을 euckr_korean_ci 로 생성하고
: DB 연결할 때 charset = euckr 으로 해야될거에요
:
답변 감사드립니다.
답변 내용에 추가로 문의 드리면 데이타베이스가 제 프로그램만 사용하는 것이 아니라 여러 장비들이 접속하는 환경이어서
위의 내용으로 DB를 변경하면 다른 장비에서 접근할 때 문제가 생기지는 않을까요??
|