数据库字段里面没有图片诶,数据库的字段为: ID,NAME(用户名),CODE(用户编码),ISADM(是否是管理员),PWD(密码) 点击确定按钮后的操作: procedure TsetUserFrm_add.BitBtn_saveClick(Sender: TObject); var code:String; name:String; pwd:String; sql2add:String; sql2check:String; begin code:=Edit_code.Text; name:=Edit_name.Text; pwd:=Edit_pwd.Text; sql2check:='select * from logininfo where Code='+QuotedStr(code)+' and Name='+QuotedStr(name)+''; setuseraddADOQuery.SQL.Clear; setuseraddADOQuery.SQL.Add(sql2check); showMessage(setuseraddADOQuery.SQL.Text); setuseraddADOQuery.Open; if setuseraddADOQuery.Eof then begin sql2add:='insert into logininfo(Code,Name,PWD) values ('+QuotedStr(code)+','+QuotedStr(name)+','+QuotedStr(pwd)+')'; setuseraddADOQuery.SQL.Clear; setuseraddADOQuery.SQL.Add(sql2add); showMessage(setuseraddADOQuery.SQL.Text); setuseraddADOQuery.ExecSQL; setUserFrm_add.Close; setUserFrm.Enabled:=True; setUserFrm.setuserfrmADOQuery.Requery(); end else begin Form_userexit.Show; setUserFrm_add.Enabled:=False; end; end;在setUserFrm中: procedure TsetUserFrm.FormActivate(Sender: TObject); //action when the current form activate begin //refresh the DBGrid DBGrid_setuser.DataSource.DataSet.Close; DBGrid_setuser.DataSource.DataSet.Open; //DBGrid_setuser.DataSource.DataSet.Refresh; //DBGrid_setuser.Refresh; end;
ID,NAME(用户名),CODE(用户编码),ISADM(是否是管理员),PWD(密码)
点击确定按钮后的操作:
procedure TsetUserFrm_add.BitBtn_saveClick(Sender: TObject);
var
code:String;
name:String;
pwd:String;
sql2add:String;
sql2check:String;
begin
code:=Edit_code.Text;
name:=Edit_name.Text;
pwd:=Edit_pwd.Text;
sql2check:='select * from logininfo where Code='+QuotedStr(code)+' and Name='+QuotedStr(name)+'';
setuseraddADOQuery.SQL.Clear;
setuseraddADOQuery.SQL.Add(sql2check);
showMessage(setuseraddADOQuery.SQL.Text);
setuseraddADOQuery.Open;
if setuseraddADOQuery.Eof then
begin
sql2add:='insert into logininfo(Code,Name,PWD) values ('+QuotedStr(code)+','+QuotedStr(name)+','+QuotedStr(pwd)+')';
setuseraddADOQuery.SQL.Clear;
setuseraddADOQuery.SQL.Add(sql2add);
showMessage(setuseraddADOQuery.SQL.Text);
setuseraddADOQuery.ExecSQL;
setUserFrm_add.Close;
setUserFrm.Enabled:=True;
setUserFrm.setuserfrmADOQuery.Requery();
end
else
begin
Form_userexit.Show;
setUserFrm_add.Enabled:=False;
end;
end;在setUserFrm中:
procedure TsetUserFrm.FormActivate(Sender: TObject);
//action when the current form activate
begin
//refresh the DBGrid
DBGrid_setuser.DataSource.DataSet.Close;
DBGrid_setuser.DataSource.DataSet.Open;
//DBGrid_setuser.DataSource.DataSet.Refresh;
//DBGrid_setuser.Refresh;
end;
setuseraddADOQuery.SQL.Clear;
setuseraddADOQuery.SQL.Add(sql2add);
setuseraddADOQuery.ExecSQL;
setUserFrm_add.Close;
setUserFrm.Enabled:=True;
这一段时插入数据库操作,然后在setUserFrm的onActivate中进行
DBGrid_setuser.DataSource.DataSet.Close;
DBGrid_setuser.DataSource.DataSet.Open;操作,
每次操作都会有延迟....
DBGrid并不立刻显示新记录,延迟三四秒后重新打开这个form才会显示。
确定dataset 只用作DBgrid 这个数据集, 中间没有做其他动作?
恩恩,dataset只是DBgrid 里面用了,没有任何其他的操作
setuseraddADOQuery.SQL.Add(sql2add);
setuseraddADOQuery.ExecSQL;
DBGrid_setuser.DataSource.DataSet.Close;
DBGrid_setuser.DataSource.DataSet.Open;
或直接把上面两句换成DBGrid_setuser.DataSource.DataSet.requery;