|
char형은 등호(=) 연산자로 문자열 복사가 안됩니다.
문자열 복사 함수를 사용해야 합니다.
name = SQLQuery->FieldByName("Name")->AsString; // 잘못된 코드
아래처럼 문저열 복사 함수를 사용하세요.
StrLCopy(name, SQLQuery->FieldByName("Name")->AsString.c_str(), sizeof(name)-1);
asdzxc123 님이 쓰신 글 :
: char name(30);
:
:
: void DBLoad(UString name,TSQLConnection *SQLCon, TComponent *Owner)
: {
: TSQLQuery *SQLQuery = new TSQLQuery(Owner);
:
: SQLQuery->SQLConnection = SQLCon;
: SQLQuery->SQL->Clear();
: SQLQuery->SQL->Text = "select *from user where Name = '"+name+"';";
: SQLQuery->Open();
: name = SQLQuery->FieldByName("Name")->AsString;
:
: SQLQuery->Close();
: }
:
: void __fastcall TForm5::Button1Click(TObject *Sender)
: {
: DBLoad(Edit1->Text, SQLConnection1, this);
: if(name == NULL)
: {
: Edit1->Text = "회원이 없습니다.";
: }
: }
:
:
: DB있는 내용을 매개변수에 name에 저장해서 버튼을 클릭하면 회원의 정보가 있는지 없는지 판단하는 프로그램을 짜고있습니다.
: 근데 문제가 뭐냐면 매개변수인 name에 DB에 검색한 값이 저장이 되질않아 계속 없는 회원이라고 뜨는 겁니다.
: 이 문제에 대해서 해결방안좀 물어볼까합니다.
|