各位兄台:
小弟我最近需要编一个程序,需要在Treeview中显示数据列表,但是编译是就是通不过,我的代码如下所示:(我的数据库为access,库里有表employee)
procedure TEmployee.FormShow(Sender: TObject);
var
i:integer;
n:TtreeNode;
begin
treeview1.Items.Clear;
n:=treeview1.Items.AddObject(nil,'职员信息',pointer(-1)); employeequery.Close;
employeequery.SQL.Text:='select count(*) from employee'+'where dePartmentID='+inttostr(integer(n.Data));
employeequery.Open; if employeequery.Fields[0].AsInteger <> 0 then
n.HasChildren :=true;
n.ImageIndex :=0;
n.StateIndex :=1;
n.SelectedIndex :=2; for i:=0 to self.TreeView1.Items.Count -1 do
begin
if self.TreeView1.Items.Item[i].Level=0 then
begin
self.TreeView1.Items.Item[i].Expanded:=true;
end; end;end;
报错:From 字句有错?
我想了许久,就是搞不明白是什么原因,不知有哪位高手能告知解决办法。谢谢!!!
小弟我最近需要编一个程序,需要在Treeview中显示数据列表,但是编译是就是通不过,我的代码如下所示:(我的数据库为access,库里有表employee)
procedure TEmployee.FormShow(Sender: TObject);
var
i:integer;
n:TtreeNode;
begin
treeview1.Items.Clear;
n:=treeview1.Items.AddObject(nil,'职员信息',pointer(-1)); employeequery.Close;
employeequery.SQL.Text:='select count(*) from employee'+'where dePartmentID='+inttostr(integer(n.Data));
employeequery.Open; if employeequery.Fields[0].AsInteger <> 0 then
n.HasChildren :=true;
n.ImageIndex :=0;
n.StateIndex :=1;
n.SelectedIndex :=2; for i:=0 to self.TreeView1.Items.Count -1 do
begin
if self.TreeView1.Items.Item[i].Level=0 then
begin
self.TreeView1.Items.Item[i].Expanded:=true;
end; end;end;
报错:From 字句有错?
我想了许久,就是搞不明白是什么原因,不知有哪位高手能告知解决办法。谢谢!!!
和where之间少了个空格
employeequery.Clear;
教你一招:
用调试器打上断点,调试。看SQL语句。
但是又有错“类型不匹配”指向:
for i:=0 to self.TreeView1.Items.Count -1 do
這行有錯??不可能! 有時delphi會指錯代碼行!!!for i:=0 to self.TreeView1.Items.Count -1 do
我也不想把这个问题留给明年再结!
而且这个问题已经解决了,也就像ssq237712(流亡帅哥) 所说的,dePartmentID的数据类型不对,改了就可以。