执行下面语句后,程序显示%错报错,请教如何改
执行下面语句后,程序显示%错报错,请问怎么改。
procedure TForm1.TreeView1Click(Sender: TObject);
var
Node: TTreeNode;
Pn: TPoint;
StrSQL,str:string;
begin
GetCursorPos(Pn);
Pn := TreeView1.ScreenToClient(Pn);
Node := TreeView1.GetNodeAt(Pn.X, Pn.Y);
if not Assigned(Node) then
exit;
Sjb := Node.Text;
Edit2.Text := '';
Flag := 0;
Xnode := node.level;
Edit1.Text := Node.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * from Tree Where 节点名称 =''' + Node.Text + '''';
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
Snode := ADOQuery1.FieldByName('本级节点号').asinteger;
if Xnode=2 then
begin
ClientDataSet1.Close;
str:=''' +edit1.Text+ ''';
StrSQL:='select * from Input Where 变电站名 like str%';
ClientDataSet1.CommandText:=StrSQL;
ClientDataSet1.Open;
end;
if Xnode=3 then
begin
ClientDataSet1.Close;
StrSQL:='select * from Input Where 变电站名 = ''' + Node.Text+ '''';
ClientDataSet1.CommandText:=StrSQL;
ClientDataSet1.Open;
end;
end;
------解决思路----------------------
StrSQL:='select * from Input Where 变电站名 like '+QuotedStr(str+'%');
procedure TForm1.TreeView1Click(Sender: TObject);
var
Node: TTreeNode;
Pn: TPoint;
StrSQL,str:string;
begin
GetCursorPos(Pn);
Pn := TreeView1.ScreenToClient(Pn);
Node := TreeView1.GetNodeAt(Pn.X, Pn.Y);
if not Assigned(Node) then
exit;
Sjb := Node.Text;
Edit2.Text := '';
Flag := 0;
Xnode := node.level;
Edit1.Text := Node.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * from Tree Where 节点名称 =''' + Node.Text + '''';
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
Snode := ADOQuery1.FieldByName('本级节点号').asinteger;
if Xnode=2 then
begin
ClientDataSet1.Close;
str:=''' +edit1.Text+ ''';
StrSQL:='select * from Input Where 变电站名 like str%';
ClientDataSet1.CommandText:=StrSQL;
ClientDataSet1.Open;
end;
if Xnode=3 then
begin
ClientDataSet1.Close;
StrSQL:='select * from Input Where 变电站名 = ''' + Node.Text+ '''';
ClientDataSet1.CommandText:=StrSQL;
ClientDataSet1.Open;
end;
end;
------解决思路----------------------
StrSQL:='select * from Input Where 变电站名 like '+QuotedStr(str+'%');