各位高手,
小弟有个问题还不能解决了,请指点一下,可以直接发在.cn
我现在以编了,可是程序没有出错了,你帮我修改了一下按我的思路,在我的
原代码上改一点,
SQL中的表为username,字段为(username,password, bh,xb)
有一个窗口为form4 一个combobox1 .一个datasource ground 为gb_1
一个adquery1 ,一个ado_user:,四个文本edit(e_bh, e_user, e_bh, c_xb)
,这段程序是一个增加(b_xz),删除(b_sc),修改(b_xg),取消(b_xq),保存(b_bc),关闭(b_gb)
实现功能了,
这个程序是有点小错误的,帮我修改一下;(这个程序,我点击修改功能,等修改完了,在点击保存,记录能修改成功!能实现这个功能,但是我要增加一条记录在点击保存可是表没有增加新记录,)
定义一个全局变量标志符:
var
bsf:string;
procedure tform4.s_save; (定义一个保存过程)这个程序是没有错的
begin
with form4 do
begin
if bsf='xz' then
adoquery1.Append
else
begin
adoquery1.Edit;
adoquery1.FieldByName('bh').AsString:=trim(e_bh.Text);
adoquery1.FieldByName('username').AsString:=trim(e_user.Text);
adoquery1.FieldByName('password').AsString :=trim(e_password.Text);
adoquery1.FieldByName('xb').AsString :=trim(c_xb.Text);
adoquery1.Post;
end;
end;
end;
procedure tform4.s_show; (定义一个显示过程)
begin
form4.ADOQuery1.Close;
form4.ADOQuery1.SQL.Clear;
form4.ADOQuery1.SQL.Add('select * from username');
form4.ADOQuery1.Open;
end;
procedure tform4.s_clear(var bb:boolean); (定义一个清屏过程)这个程序也没有出错
var
i:integer;
begin
with form4 do
begin
b_xz.Enabled:=true;
b_xg.Enabled:=true;
b_sc.Enabled:=true;
b_bc.Enabled:=false;
b_qx.Enabled:=false;
b_gb.Enabled:=true;
e_bh.Text:='';
e_user.Text:='';
e_password.text:='';
c_xb.Text:='';
for i:=0 to gb_1.controlcount-1 do
begin
if (gb_1.Controls[i].ClassType=tedit) or
(gb_1.Controls[i].ClassType=tcombobox ) then
begin
if bb =false then
gb_1.Controls[i].Enabled :=false
else
gb_1.Controls[i].Enabled:=true;
end;
end;
end;
end;procedure TForm4.b_xzClick(Sender: TObject); 这是一个实现新增功能的,应该是没有出错的问题
var
bb:boolean;
begin
bsf:='xz';
bb:=true;
s_clear(bb);
e_bh.SetFocus;
b_xz.Enabled:=false;
b_xg.Enabled:=false;
b_sc.Enabled :=false;
b_bc.Enabled:=true;
b_qx.Enabled :=true;
b_gb.Enabled:=false;
end;procedure TForm4.b_xgClick(Sender: TObject); 我认为这个程序是没有错的,是实现修改功能;
var
i:integer;
begin
if trim(e_bh.Text)<>'' then
begin
bsf:='xg';
for i:=0 to gb_1.ControlCount-1 do begin
if (gb_1.Controls[i].ClassType =tedit) or (gb_1.Controls[i].ClassType=tcombobox ) then
gb_1.Controls[i].Enabled:=true;
b_xz.Enabled:=false;
b_xg.Enabled:=false;
b_bc.Enabled:=true;
b_sc.Enabled:=false;
b_qx.Enabled:=true;
b_gb.Enabled:=false;
end;
end
else
begin
showmessage('请选择修改值');
end;
end;
procedure TForm4.b_bcClick(Sender: TObject); 这个程序是实现保存的功能,是有点小错误的,帮我修改一下;(这个程序,我点击修改功能,等修改完了,在点击保存,记录能修改成功!能实现这个功能,但是我要增加一条记录在点击保存可是表没有增加新记录,)
var
ss:boolean;
begin
if trim(e_bh.Text)='' then
begin
showmessage('请输入编号值');
e_bh.SetFocus;
exit;
end;
if bsf <>'xg' then 关键的就是这个红程序有点问题
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from username where bh='
+char(39)+trim(e_bh.Text)+char(13));
adoquery1.Open;
end;
if adoquery1.recordcount<0 then
begin
showmessage(‘请输入值’);
exit;
end;
if trim(e_user.Text)='' then
begin
showmessage('请输入用户名);
e_user.SetFocus;
exit;
end;
if trim(e_password.Text)='' then
begin
showmessage('请输入密码值');
e_password.SetFocus;
exit;
end;
if trim(c_xb.Text)= ''then
begin
showmessage('请选择性别’);
c_xb.SetFocus;
exit;
end;
if application.MessageBox('记录真的保存吗?',4+32)= 6 then
begin
s_save;
s_show;
ss:=false;
s_clear(ss);
end
else
exit;
end;
end.
小弟有个问题还不能解决了,请指点一下,可以直接发在.cn
我现在以编了,可是程序没有出错了,你帮我修改了一下按我的思路,在我的
原代码上改一点,
SQL中的表为username,字段为(username,password, bh,xb)
有一个窗口为form4 一个combobox1 .一个datasource ground 为gb_1
一个adquery1 ,一个ado_user:,四个文本edit(e_bh, e_user, e_bh, c_xb)
,这段程序是一个增加(b_xz),删除(b_sc),修改(b_xg),取消(b_xq),保存(b_bc),关闭(b_gb)
实现功能了,
这个程序是有点小错误的,帮我修改一下;(这个程序,我点击修改功能,等修改完了,在点击保存,记录能修改成功!能实现这个功能,但是我要增加一条记录在点击保存可是表没有增加新记录,)
定义一个全局变量标志符:
var
bsf:string;
procedure tform4.s_save; (定义一个保存过程)这个程序是没有错的
begin
with form4 do
begin
if bsf='xz' then
adoquery1.Append
else
begin
adoquery1.Edit;
adoquery1.FieldByName('bh').AsString:=trim(e_bh.Text);
adoquery1.FieldByName('username').AsString:=trim(e_user.Text);
adoquery1.FieldByName('password').AsString :=trim(e_password.Text);
adoquery1.FieldByName('xb').AsString :=trim(c_xb.Text);
adoquery1.Post;
end;
end;
end;
procedure tform4.s_show; (定义一个显示过程)
begin
form4.ADOQuery1.Close;
form4.ADOQuery1.SQL.Clear;
form4.ADOQuery1.SQL.Add('select * from username');
form4.ADOQuery1.Open;
end;
procedure tform4.s_clear(var bb:boolean); (定义一个清屏过程)这个程序也没有出错
var
i:integer;
begin
with form4 do
begin
b_xz.Enabled:=true;
b_xg.Enabled:=true;
b_sc.Enabled:=true;
b_bc.Enabled:=false;
b_qx.Enabled:=false;
b_gb.Enabled:=true;
e_bh.Text:='';
e_user.Text:='';
e_password.text:='';
c_xb.Text:='';
for i:=0 to gb_1.controlcount-1 do
begin
if (gb_1.Controls[i].ClassType=tedit) or
(gb_1.Controls[i].ClassType=tcombobox ) then
begin
if bb =false then
gb_1.Controls[i].Enabled :=false
else
gb_1.Controls[i].Enabled:=true;
end;
end;
end;
end;procedure TForm4.b_xzClick(Sender: TObject); 这是一个实现新增功能的,应该是没有出错的问题
var
bb:boolean;
begin
bsf:='xz';
bb:=true;
s_clear(bb);
e_bh.SetFocus;
b_xz.Enabled:=false;
b_xg.Enabled:=false;
b_sc.Enabled :=false;
b_bc.Enabled:=true;
b_qx.Enabled :=true;
b_gb.Enabled:=false;
end;procedure TForm4.b_xgClick(Sender: TObject); 我认为这个程序是没有错的,是实现修改功能;
var
i:integer;
begin
if trim(e_bh.Text)<>'' then
begin
bsf:='xg';
for i:=0 to gb_1.ControlCount-1 do begin
if (gb_1.Controls[i].ClassType =tedit) or (gb_1.Controls[i].ClassType=tcombobox ) then
gb_1.Controls[i].Enabled:=true;
b_xz.Enabled:=false;
b_xg.Enabled:=false;
b_bc.Enabled:=true;
b_sc.Enabled:=false;
b_qx.Enabled:=true;
b_gb.Enabled:=false;
end;
end
else
begin
showmessage('请选择修改值');
end;
end;
procedure TForm4.b_bcClick(Sender: TObject); 这个程序是实现保存的功能,是有点小错误的,帮我修改一下;(这个程序,我点击修改功能,等修改完了,在点击保存,记录能修改成功!能实现这个功能,但是我要增加一条记录在点击保存可是表没有增加新记录,)
var
ss:boolean;
begin
if trim(e_bh.Text)='' then
begin
showmessage('请输入编号值');
e_bh.SetFocus;
exit;
end;
if bsf <>'xg' then 关键的就是这个红程序有点问题
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from username where bh='
+char(39)+trim(e_bh.Text)+char(13));
adoquery1.Open;
end;
if adoquery1.recordcount<0 then
begin
showmessage(‘请输入值’);
exit;
end;
if trim(e_user.Text)='' then
begin
showmessage('请输入用户名);
e_user.SetFocus;
exit;
end;
if trim(e_password.Text)='' then
begin
showmessage('请输入密码值');
e_password.SetFocus;
exit;
end;
if trim(c_xb.Text)= ''then
begin
showmessage('请选择性别’);
c_xb.SetFocus;
exit;
end;
if application.MessageBox('记录真的保存吗?',4+32)= 6 then
begin
s_save;
s_show;
ss:=false;
s_clear(ss);
end
else
exit;
end;
end.
解决方案 »
- 关键词 F1 控件的HLP文件 cnt文件 查看控件相应属性或者方法 事件等的
- 如何取网页源码?
- 如何获得一个DLL文件中的对象及怎样调这个对象的函数,过程及其他接口等.
- 哪有大量DSPack使用实例?英文的也可以
- 疑惑,什么时候选用C/S模式,什么时候选用B/S模式(在线等)
- 触摸屏滚动显示文本应该用什么控件好?
- Delphi 6 启动时,出现提示注册的对话框,惨啊,不知怎么注册?
- 请问WEBBROKER是什么?怎么定义WEB的虚拟目录?
- 总是搞不定它,气死我了
- rad studio10.3 businessskin编译通不过(delphi)
- 我的数据库记录怎么老丢失啊?新手吐血求教
- 使用ADO中的事务往SQLSERVER中插入数据时,为什么只有最后一行提交了(再线等待)
procedure tform4.s_save;
begin
with form4 do
begin
if bsf='xz' then
adoquery1.Append
else
begin
adoquery1.Edit;
adoquery1.FieldByName('bh').AsString:=trim(e_bh.Text);
adoquery1.FieldByName('username').AsString:=trim(e_user.Text);
adoquery1.FieldByName('password').AsString :=trim(e_password.Text);
adoquery1.FieldByName('xb').AsString :=trim(c_xb.Text);
end;
adoquery1.Post; //这样你追加记录的时候才能post呀:)
end;
end;
还有,你的程序结构化写的太差了,不要总用exit。