读书人

关于dbgrid的有关问题

发布时间: 2012-03-05 11:54:01 作者: rapoo

关于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;



[解决办法]
问题不少。

读书人网 >.NET

热点推荐