SQL 질문이 있어..이렇게 글을 띄웁니다.
다름이 아니고 제가 콤보 박스에서 선택되면 자동적으로 Query가 진행되는
코딩을 하는데,
Size 20 으로 된 Cn_name이라는 필드에서 이름의 공백을 채우고 리스트 박스에 정렬
시키고자 하였습니다. 그래서, 스트링에 저장하여 공백을 채우는 For 문을 쓰지않고
바로 Select문에서 하고자 하여,
Sql.Add('Select Cname, RPAD(RTRIM(Cn_name),20,' '), Ctel from Cauout');
이렇게 작성하여 Compile을 해보니,
필드를 찾지 못한다는 Error가 계속 나타나더군요..
저의 Sql문이 틀렸습니까..
소스를 함께 올리니..조언부탁드립니다.
procedure TForm10.ComboBox1Change(Sender: TObject);
var
nt, Cn_name: string;
ret: word;
begin
sql.BeginUpdate;
sql.Clear;
sql.Add('select Cname, RPAD(RTRIM(Cn_name),20,' '), Ctel from Cauout');
sql.Add('where Cname like :nt');
sql.EndUpdate;
parambyname('nt').asstring:= ComboBox1.text+'%';
open;
Label3.Caption:= ComboBox1.Text + '선택하셨습니다.';
ListBox1.Items.Beginupdate;
ListBox1.Items.Clear;
While not Eof do
begin
Cn_name:= FindField('RPAD(RTRIM(Cn_name),20,' ')').AsString;
ListBox1.Items.Add(Cn_name + FindField('Ctel').AsString);
Next;
end;
Close;
ListBox1.Items.EndUpdate;
ComboBox1.SetFocus;
end;
부탁드립니다..
|