首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于dbgrid的有关问题

2012-03-05 
关于dbgrid的问题procedure Tusergl_Form.FormCreate(Sender: TObject)beginadoquery1.Closeadoquery1.C

关于dbgrid的问题

procedure Tusergl_Form.FormCreate(Sender: TObject);
begin
  adoquery1.Close;
  adoquery1.Connection:=Main_Form.ADOConnection1;//调用主窗体的ADO控件;
  adoquery1.Open;
end;

//数据网格双击事件;
procedure Tusergl_Form.DBGrid1DblClick(Sender: TObject);
begin
  N2.Click;//相当于修改用户操作;
end;

procedure Tusergl_Form.FormShow(Sender: TObject);
var sqlstr:string;
begin
  sqlstr:='select*from [user] order by yhm';
  adoquery1.SQL.Clear;//清除上一次的SQL语句;
  adoquery1.SQL.Add(sqlstr);//添加查询语句;
  adoquery1.Active:=True;//打开其对应的表

end;

//“添加用户”弹出菜单单击事件;
procedure Tusergl_Form.N1Click(Sender: TObject);
begin
  //设置标识
  //modi:=False;
  x:='添加用户';
  //打开添加、修改窗体;
  Application.CreateForm(Tmodiuser_Form,modiuser_Form);
  modiuser_Form.ShowModal;
end;

//“修改用户”弹出菜单单击事件
procedure Tusergl_Form.N2Click(Sender: TObject);
begin
  //设置标识;
  //modi:=True;
  X:='修改用户';
  //打开添加修改用户窗体;
  Application.CreateForm(Tmodiuser_Form,modiuser_Form);
  modiuser_Form.ShowModal;
end;


//“删除用户”弹出菜单单击事件
procedure Tusergl_Form.N3Click(Sender: TObject);
var name:string;
begin
  try
  name:=Adoquery1.FieldByName('yhm').AsString;
  //弹出确认删除对话框;
  if MessageDlg('确认要删除选中的记录吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
  begin
  //id:=adoquery1.FieldByName('id').AsString;
  with adoquery1 do
  begin
  try
  adoquery1.Close;
  adoquery1.Connection:=Main_Form.ADOConnection1;
  adoquery1.SQL.Clear;
  //删除用户表数据
  SQL.Add('delete from [user] where yhm='''+name+'''');
  adoquery1.ExecSQL;
  SQL.Clear;
  //删除权限表数据
  SQL.Add('delete from [qxb] where yhm='''+name+'''');
  adoquery1.ExecSQL;
  finally
  adoquery1.Close;
  end;
  end;
  end;
  except
  Close;
  end;
end;
procedure Tusergl_Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //是主窗体的“用户管理”菜单项可用;
  Main_Form.N1.Enabled:=True;
  //从内存中释放窗体;
  Action:=caFree;
end;

end.

代码运行后dbgrid并没有显示用户名(yhm)???··是怎么回事
要添加什么代码才能显示???


[解决办法]
procedure Tusergl_Form.FormShow(Sender: TObject);
var sqlstr:string;
begin
adoquery1.SQL.Clear;//要加这么一句吧,这句是清理以前的数据。
sqlstr:='select*from [user] order by yhm';
//adoquery1.SQL.Clear;//清除上一次的SQL语句;//这句应该放到上边。
adoquery1.SQL.Add(sqlstr);//添加查询语句;
adoquery1.Active:=True;//打开其对应的表

end;

[解决办法]
[code=Delphi(Pascal)][/code]procedure Tusergl_Form.FormCreate(Sender: TObject);
begin
adoquery1.Close;
adoquery1.Connection:=Main_Form.ADOConnection1;//调用主窗体的ADO控件;
adoquery1.sql.text:='select * from [user] order by yhm'
adoquery1.Open;
end;



[解决办法]
问题不少。

热点排行