2011-09-02 2 views
0

데이터베이스에서 데이터를 읽거나 쓰는 CppBB6에 앱을 빌드하고 있습니다. Students라는 테이블에서 주어진 인덱스 번호 (Name과 Index는 모두 Student 테이블의 필드 임)를 사용하여 학생의 이름을 추출한 다음 해당 이름을 String 또는 AnsiString 변수에 넣으려고합니다.C++ Borland Builder 6 SQL 쿼리

나는 이름을 선택하려면이 쿼리를 사용하고 있습니다 :

AnsiString query; 
Query1->Close(); 
Query1->UnPrepare(); 
Query1->SQL->Clear(); 
query="SELECT Name FROM Students where Index='" + Edit1->Text + "'"; 
Query1->SQL->Add(query); 
Query1->Prepare(); 
Query1->Open(); 

및 모든 검사 밖으로 좋은,하지만 어떻게 내가 변수에 그 이름을 배치해야합니까? :/

답변

2

내가 추측에는 요 뭔가

Edit1->Text = Query1->FieldByName("Name")->AsString; 

같은 또는 경우에 당신이 정말로 하나 개의 필드가 및/또는

Edit1->Text = Query1->Fields[0]->AsString; 

와 켄으로 다음 필드 (들)의 인덱스를 알고 화이트는 논평에서 제안합니다. 안전과 성능을 이유로 매개 변수화 된 쿼리를 사용해야합니다.

Query1->SQL->Add("SELECT Name FROM Students where Index = :idx"); 
Query1->Prepare(); 
Query1->ParamByName("idx")->AsString = Edit1->Text; 
+0

+1과 같은 것이 좋습니다. 아마도 문자열 연결 대신에 매개 변수화 된 쿼리를 사용하는 것에 대한 언급을 덧붙이면됩니다. :) –

+0

thnx, 내 문제를 해결 :) – sikac

관련 문제