详细情况是这样的:
比如说我对应的有5个用户、密码:0、0;1、1;2、2;3、3;4、4;5、5;
然后我以0、0进去后修改密码可以成功比如改为0、6
但是我如果以1、1进去后也修改密码但是修改的不是1、1而是上次的,我想请问该怎么修改:代码如下:
if Table1.Lookup('password',edit1.Text,'password') = Table1.FieldByName('password').AsString then
begin
Table1.Edit;
Table1.FieldByName('password').Value := Edit2.Text;
Table1.Post;
end;
2、还有一个问题就是:
我想往主窗体中添加一条记录:
我想添加第一条的时候让它的序号自动生成为1,但是老是出错
请帮忙看看!
代码:
procedure TFda.BitBtn1Click(Sender: TObject);
var
i:integer;
begin
if Edit1.Text ='' then
begin
Application.MessageBox('请输入姓名!','提示',0);
Edit1.SetFocus ;
Exit;
end;
begin
table1.First;
i:=table1.fieldbyName('BH').AsInteger;
try
table1.Edit;
table1.Append;
table1.fieldbyName('BH').AsInteger:=i+1;//这里出错
table1.FieldByName('name').AsString:=Edit1.text;
table1.FieldByName('mobiletel').AsString:=Edit4.text;
table1.FieldByName('elsetel').AsString:=Edit5.text;
table1.FieldByName('QQ').AsString:=Edit6.text;
table1.FieldByName('MSN').AsString:=Edit7.text;
table1.FieldByName('E_Mail').AsString:=Edit8.text;
table1.FieldByName('Individualnet').AsString:=Edit9.text;
table1.FieldByName('CorporationName').AsString:=Edit10.text;
table1.FieldByName('department').AsString:=Edit11.text;
table1.FieldByName('post').AsString:=Edit12.text;
table1.FieldByName('officetel').AsString:=Edit13.text;
table1.FieldByName('fax').AsString:=Edit14.text;
table1.FieldByName('Officeddress').AsString:=Edit15.text;
table1.FieldByName('CorporationE_mail').AsString:=Edit16.text;
table1.FieldByName('CorporationNet').AsString:=Edit17.text;
table1.FieldByName('Homeaddress').AsString:=Edit18.text;
table1.FieldByName('Hometel').AsString:=Edit19.text;
table1.FieldByName('Postalcode').AsString:=Edit20.text;
Application.MessageBox('存盘成功!','提示',0);
Edit1.text:='';
edit4.text:='';
edit5.text:='';
edit6.text:='';
edit7.text:='';
edit8.text:='';
Edit9.text:='';
Edit10.text:='';
Edit11.text:='';
Edit12.text:='';
edit13.text:='';
Edit14.text:='';
Edit15.text:='';
Edit16.text:='';
Edit17.text:='';
Edit18.text:='';
Edit19.text:='';
Edit20.text:='';
finally
Fmain.DBGrid1.refresh;
table1.Post;
table1.refresh;
Fmain.Table1.Refresh;
end;
end;
比如说我对应的有5个用户、密码:0、0;1、1;2、2;3、3;4、4;5、5;
然后我以0、0进去后修改密码可以成功比如改为0、6
但是我如果以1、1进去后也修改密码但是修改的不是1、1而是上次的,我想请问该怎么修改:代码如下:
if Table1.Lookup('password',edit1.Text,'password') = Table1.FieldByName('password').AsString then
begin
Table1.Edit;
Table1.FieldByName('password').Value := Edit2.Text;
Table1.Post;
end;
2、还有一个问题就是:
我想往主窗体中添加一条记录:
我想添加第一条的时候让它的序号自动生成为1,但是老是出错
请帮忙看看!
代码:
procedure TFda.BitBtn1Click(Sender: TObject);
var
i:integer;
begin
if Edit1.Text ='' then
begin
Application.MessageBox('请输入姓名!','提示',0);
Edit1.SetFocus ;
Exit;
end;
begin
table1.First;
i:=table1.fieldbyName('BH').AsInteger;
try
table1.Edit;
table1.Append;
table1.fieldbyName('BH').AsInteger:=i+1;//这里出错
table1.FieldByName('name').AsString:=Edit1.text;
table1.FieldByName('mobiletel').AsString:=Edit4.text;
table1.FieldByName('elsetel').AsString:=Edit5.text;
table1.FieldByName('QQ').AsString:=Edit6.text;
table1.FieldByName('MSN').AsString:=Edit7.text;
table1.FieldByName('E_Mail').AsString:=Edit8.text;
table1.FieldByName('Individualnet').AsString:=Edit9.text;
table1.FieldByName('CorporationName').AsString:=Edit10.text;
table1.FieldByName('department').AsString:=Edit11.text;
table1.FieldByName('post').AsString:=Edit12.text;
table1.FieldByName('officetel').AsString:=Edit13.text;
table1.FieldByName('fax').AsString:=Edit14.text;
table1.FieldByName('Officeddress').AsString:=Edit15.text;
table1.FieldByName('CorporationE_mail').AsString:=Edit16.text;
table1.FieldByName('CorporationNet').AsString:=Edit17.text;
table1.FieldByName('Homeaddress').AsString:=Edit18.text;
table1.FieldByName('Hometel').AsString:=Edit19.text;
table1.FieldByName('Postalcode').AsString:=Edit20.text;
Application.MessageBox('存盘成功!','提示',0);
Edit1.text:='';
edit4.text:='';
edit5.text:='';
edit6.text:='';
edit7.text:='';
edit8.text:='';
Edit9.text:='';
Edit10.text:='';
Edit11.text:='';
Edit12.text:='';
edit13.text:='';
Edit14.text:='';
Edit15.text:='';
Edit16.text:='';
Edit17.text:='';
Edit18.text:='';
Edit19.text:='';
Edit20.text:='';
finally
Fmain.DBGrid1.refresh;
table1.Post;
table1.refresh;
Fmain.Table1.Refresh;
end;
end;
解决方案 »
- 求助一个程序怎么写……有关于TXT文件导入数据库的
- 需 delphi 开发项目 急!!!!!
- 初学,标签文字不能显示全部
- 一个奇怪的计算问题!请大家指教!
- 文件正在写入,我如何用软件读取?
- 如何能在DBGrid中选定多行纪录,并删除?(单表查询,oracle数据库)
- socketconnection連接不到現在的應用服務器﹐servername內總是以前的應用服務器
- delphi6程序在delphi7中运行提示错误:UNsafe type 'PChar'.请教高手指点。
- 这是什么错误?
- 用delphi的activeX技术写了一个OCX文件,不知道ASP文件调用时如何传参数给OCX文件?
- 数据仓库数据挖掘问题???(急)
- 关于文件关联问题求教
2、table1.First;
i:=table1.fieldbyName('BH').AsInteger;
--〉
table.last;
i:=table1.fieldbyName('BH').AsInteger;
吧。说句实话,你的系统开发出来可能好要改进好多。
idilent:还是不行呀!
我Table里的用户就是上面那几个!
to:
smalltager:是integer类型
没关系
我本来是搞硬件的
没学过DELPHI是突击学的
还请多多指教
我急用
分不够再加!
谢谢!
begin
Table1.Edit;
Table1.FieldByName('password').Value := Edit2.Text;
Table1.Post;
end;
是我插入许多条信息,我想在插入第一条的时候让它自动生成序号1
然后我把插入的信息全部删除后,会抱错!
i:=table1.fieldbyName('BH').AsInteger;这一句说什么
is not value ...integer
if(table.first)then begin
i:=table1.fieldbyName('BH').AsInteger
end else begin
i :=1;
end;
说是Type of expression must be Boolean
tableUser.edit;
tableUser.fieldbyName('password').asString = editPassword.text;
tableUser.post;
end;没有测试
说是Type of expression must be Boolean
对不起了,最近一直用java所以写了java的代码,那就这样
if(table.eof)then begin
i:=0
end else begin
last;
i:=....
end;