我的delphi的密码修改程序,运行时出现一下的提示

我的程序代码如下procedureTForm6.Button1Click(Sender:TObject);varadoquery1:TAdoQuery;beginifed... 我的程序代码如下procedure TForm6.Button1Click(Sender: TObject);
var adoquery1:TAdoQuery;begin if edit2.text=edit3.text then begin if ADOQuery1.active=False then exit; ADOQuery1.Append; ADOQuery1.FieldByName('密码').asstring:='Edit2.Text';
ADOQuery1.Post; end; begin Application.MessageBox('两次密码输入不一致,请检查!','提示信息',mb_ok); end; edit2.SetFocus; edit2.text:=''; edit3.text:='';end;
展开
 我来答
robbertyjh
2013-05-27 · TA获得超过170个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:220万
展开全部
你的ADOQuery1还没有内存建立,直接使用当然内存报错咯。。
先要ADOQuery1:=TADOQuery.Create(self);

procedure TForm6.Button1Click(Sender: TObject);
var
adoquery1:TAdoQuery;
begin
if edit2.text=edit3.text then
begin
ADOQuery1:=TADOQuery.Create(self);
ADOQuery1.Connection:=ADOConnection1;//连接数据库
try
if ADOQuery1.active=False then exit;
ADOQuery1.Append;
ADOQuery1.FieldByName('密码').asstring:=Edit2.Text;
ADOQuery1.Post;
finally
ADOQuery1.Free;
end;
end
else begin
Application.MessageBox('两次密码输入不一致,请检查!','提示信息',mb_ok);
end;
edit2.SetFocus;
edit2.text:='';
edit3.text:='';
金山毒霸
2024-10-31 广告
大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的电脑一般都... 点击进入详情页
本回答由金山毒霸提供
HJ_3000
2013-05-27 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:45.6万
展开全部
procedure TForm6.Button1Click(Sender: TObject);
//var
//adoquery1:TAdoQuery;
begin
if edit2.text<>edit3.text then
begin
if ADOQuery1.active=False then exit;
ADOQuery1.Append;
ADOQuery1.FieldByName('密码').asstring:=Edit2.Text;
ADOQuery1.Post;
end;
begin
Application.MessageBox('两次密码输入不一致,请检查!','提示信息',mb_ok);
end;
edit2.SetFocus;
edit2.text:='';
edit3.text:='';
end;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu55721
2013-05-27 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:861万
展开全部
定义了一个变量adoquery1:TAdoQuery;但是没有创建就直接使用,也没有连接到数据库,这违反了控件的使用规则.当然会出问题.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinhxinfo
2013-05-27 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:123万
展开全部
1、adoquery1没有初始化,不知道是不是提问者提问时省略了这部分内容
2、if 嵌套错误,少 ELSE
3、Edit2.Text 不应有单引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
me2202533
2013-05-27 · 超过34用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:69.1万
展开全部
edit2.text 两边是不是多了''?好像 第一个IF 没有配对的else 我看你的意思 应该是要else的
而且 貌似 ADOQuery1.FieldByName('密码').asstring 给它赋值 不是这样的吧 我忘记了 你可以搜一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
台浦泽4r
2013-05-27 · TA获得超过936个赞
知道小有建树答主
回答量:1249
采纳率:62%
帮助的人:624万
展开全部
ADOQuery1.FieldByName('密码').asstring:='Edit2.Text'; 你这里的edit2.text打引号干吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式