//我在运行以下程序时,出现了这样的错误提示:incorrenct syntax near '餐饮信息设置'
我不知道该怎么改,请高手指点一下,谢谢!
unit permission;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, CheckLst;type
Tpermitt = class(TForm)
CheckListBox1: TCheckListBox;
TreeView1: TTreeView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
permitt: Tpermitt;
i:integer;
qxid:array[0..27] of integer;
implementation
uses datadm;
{$R *.dfm}
procedure Tpermitt.FormShow(Sender: TObject);
var
mynode:Ttreenode;
mynode1,mynode2,mynode3,mynode4:Ttreenode;
begin
treeview1.Items.Clear;
mynode:=Treeview1.Items.Add(Treeview1.TopItem,'东力餐饮服务有限公司');
mynode1:=Treeview1.Items.AddChild(mynode,'经理室');
mynode2:=Treeview1.Items.AddChild(mynode,'行政部');
mynode3:=Treeview1.Items.AddChild(mynode,'财务处');
mynode4:=Treeview1.Items.AddChild(mynode,'客服中心');
with dm1.query5 do
begin
close;
sql.Add('select * from userinfo');
open;
first;
while not dm1.query5.Eof do
begin
if dm1.query5.FieldByName('部门').Value='经理室' then
Treeview1.Items.AddChild(mynode1,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='行政部' then
Treeview1.Items.AddChild(mynode2,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='财务处' then
Treeview1.Items.AddChild(mynode3,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='客服中心' then
Treeview1.Items.AddChild(mynode4,dm1.query5.fieldbyname('姓名').AsString);
dm1.query5.Next;
end;
end;
end;
procedure Tpermitt.BitBtn2Click(Sender: TObject);
begin
self.Close;
end;
procedure Tpermitt.BitBtn3Click(Sender: TObject);
begin
for i:=0 to CheckListBox1.Items.Count-1 do
begin
CheckListBox1.Checked[i]:=true;
end;
end;
procedure Tpermitt.BitBtn4Click(Sender: TObject);
begin
for i:=0 to checklistbox1.Items.Count-1 do
begin
checklistbox1.Checked[i]:=false;
end;
end;
procedure Tpermitt.BitBtn1Click(Sender: TObject);
begin
for i:=0 to checklistbox1.Items.Count-1 do
begin
if checklistbox1.Checked[i] then
qxid[i]:=1
else
qxid[i]:=0;
end;
with dm1.query5 do
begin
sql.Clear;
sql.Add('update qx set');
sql.add(' 餐饮信息管理='+inttostr(qxid[0]));
sql.add(' 餐饮信息设置='+inttostr(qxid[1]));
sql.Add(' where 用户名=:treeid');
parameters.ParamByName('treeid').Value:=treeview1.Selected.Text;
ExecSQL;
end;
end;
end.
我不知道该怎么改,请高手指点一下,谢谢!
unit permission;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, CheckLst;type
Tpermitt = class(TForm)
CheckListBox1: TCheckListBox;
TreeView1: TTreeView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
permitt: Tpermitt;
i:integer;
qxid:array[0..27] of integer;
implementation
uses datadm;
{$R *.dfm}
procedure Tpermitt.FormShow(Sender: TObject);
var
mynode:Ttreenode;
mynode1,mynode2,mynode3,mynode4:Ttreenode;
begin
treeview1.Items.Clear;
mynode:=Treeview1.Items.Add(Treeview1.TopItem,'东力餐饮服务有限公司');
mynode1:=Treeview1.Items.AddChild(mynode,'经理室');
mynode2:=Treeview1.Items.AddChild(mynode,'行政部');
mynode3:=Treeview1.Items.AddChild(mynode,'财务处');
mynode4:=Treeview1.Items.AddChild(mynode,'客服中心');
with dm1.query5 do
begin
close;
sql.Add('select * from userinfo');
open;
first;
while not dm1.query5.Eof do
begin
if dm1.query5.FieldByName('部门').Value='经理室' then
Treeview1.Items.AddChild(mynode1,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='行政部' then
Treeview1.Items.AddChild(mynode2,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='财务处' then
Treeview1.Items.AddChild(mynode3,dm1.query5.fieldbyname('姓名').AsString);
if dm1.query5.FieldByName('部门').Value='客服中心' then
Treeview1.Items.AddChild(mynode4,dm1.query5.fieldbyname('姓名').AsString);
dm1.query5.Next;
end;
end;
end;
procedure Tpermitt.BitBtn2Click(Sender: TObject);
begin
self.Close;
end;
procedure Tpermitt.BitBtn3Click(Sender: TObject);
begin
for i:=0 to CheckListBox1.Items.Count-1 do
begin
CheckListBox1.Checked[i]:=true;
end;
end;
procedure Tpermitt.BitBtn4Click(Sender: TObject);
begin
for i:=0 to checklistbox1.Items.Count-1 do
begin
checklistbox1.Checked[i]:=false;
end;
end;
procedure Tpermitt.BitBtn1Click(Sender: TObject);
begin
for i:=0 to checklistbox1.Items.Count-1 do
begin
if checklistbox1.Checked[i] then
qxid[i]:=1
else
qxid[i]:=0;
end;
with dm1.query5 do
begin
sql.Clear;
sql.Add('update qx set');
sql.add(' 餐饮信息管理='+inttostr(qxid[0]));
sql.add(' 餐饮信息设置='+inttostr(qxid[1]));
sql.Add(' where 用户名=:treeid');
parameters.ParamByName('treeid').Value:=treeview1.Selected.Text;
ExecSQL;
end;
end;
end.
sql.Add('update qx set');
sql.add(' 餐饮信息管理='+inttostr(qxid[0]));
sql.add(' 餐饮信息设置='+inttostr(qxid[1]));
sql.Add(' where 用户名=:treeid');
parameters.ParamByName('treeid').Value:=treeview1.Selected.Text;
--------------
改成
sql.Add('update qx set');
sql.add(' 餐饮信息管理='+inttostr(qxid[0]));
sql.add(' ,餐饮信息设置='+inttostr(qxid[1]));//这句加个逗号
sql.Add(' where 用户名=:treeid');
parameters.ParamByName('treeid').Value:=treeview1.Selected.Text;
字段之间好象要用‘,’隔开的
所以要在
sql.add(' 餐饮信息管理='+inttostr(qxid[0]));//末尾加逗号
sql.add(' 餐饮信息设置='+inttostr(qxid[1]));//或者开始加逗号完毕