|
printf에 들어가는 %s 의 인자는 AnsiString 이 아니라 문자열포인터입니다.
따라서 c_str() 함수를 이용하여 포인터로 변환해 주어야 합니다.
str.printf("INSERT INTO Tbl (Name) VALUES ('%s')", Edit1->Text.c_str());
AnsiString을 그대로 사용하시려면 이렇게 하시면 됩니다.
str = "INSERT INTO Tbl (Name) VALUES ('" + Edit1->Text + "')";
Starlet 님이 쓰신 글 :
: 안녕하세요.
: Edit1 에 있는 내용을 INSERT 쿼리를 사용해 DB에 저장하려면...
:
: AnsiString Str;
:
: Str.printf("INSERT INTO Tbl (Name) VALUES ('%s')", Edit1->Text);
:
: 저는 보통 이렇게해서 사용하는데 Edit1에 내용이 없으면 값으로 "(null)"이라는 문자열이 저장됩니다.
: 그럼 나중에 이렇게 저장한 값을 DB에서 읽어 Edit1에 표시하면 "(null)"이라고 표시됩니다.
: printf에서 이 (null) 이라는 문자 대신 그냥 공백으로('') 처리할수는 없나요?
|