怎样将Edit的text内容写入access数据库?我用的是adoquery.

teacher1998 2006-03-14 12:09:23
1.怎样将Edit的text内容写入access数据库?我用的是adoquery.
2.我设置了form的FormCloseQuery事件,现在想用form窗体中的button来调用该事件,代码怎么写?
我写成这样出错:

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Form1.FormCloseQuery(form1,true);

end;
...全文
203 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuteant 2006-03-14
  • 打赏
  • 举报
回复
所以就需要'''+ +'''
cuteant 2006-03-14
  • 打赏
  • 举报
回复
你要知道SQL.ADD()过程里面的参数是String型的,也就是说是字符串

既然是字符串,连接的时候当然要'+ +'了
同时,字符串在SQL语句中是需要引号的,而一个单引号在字符串中是要用两个单引号代替的

所以就需要'''+ '''

teacher1998 2006-03-14
  • 打赏
  • 举报
回复
第一个问题我用
begin
with adoquery1 do
begin
Close;
SQL.Clear;
{以下代码将Edit的text值赋给数据库的相关字段
}
SQL.Add('insert into teacher(姓名,移动电话,家庭电话,宿舍编号,所带班级,家庭详细地址,班级名称,备注)');
SQL.Add('values("'+name_edit.Text+'","'+mobile_edit.Text+'","'+homephone_edit.text+'","'+home_edit.Text+'","'+class_edit.Text+'","'+homeadd_memo.Text+'","'+classname_edit.Text+'","'+note_memo.Text+'")');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('select * from teacher');
Open;

主要原因是没有在edit.text两边加"'+edit1.text+'"
TNND,这个小东西困扰我一晚上.我想问一下为什么要这个东西?也就是: "'+ +'"
teacher1998 2006-03-14
  • 打赏
  • 举报
回复
第一个问题已解决.多谢!

to-->ruthfox,还是不能运行啊!
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Form1.FormCloseQuery(form1, CanClose);
//Form1.FormCloseQuery(form1,true);--->这是我自已的

end;
ruthfox 2006-03-14
  • 打赏
  • 举报
回复
第二个问题:
var
CanClose: boolean;
begin
Form1.FormCloseQuery(form1, CanClose);
end;
chb5210 2006-03-14
  • 打赏
  • 举报
回复
连接Access数据库

with AdoQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='INSERT INTO tblNewStudent VALUES('
+char(39)+edit1.Text+char(39)+')';
ExecSQL;
end;
cuteant 2006-03-14
  • 打赏
  • 举报
回复
第一个问题,可不可以说具体点?你是想把Edit的Text存入数据库?用SQL的UpDate语句

第二个问题:
写上CloseQuery;
teacher1998 2006-03-14
  • 打赏
  • 举报
回复
帮帮忙啊各位.
cuteant 2006-03-14
  • 打赏
  • 举报
回复
当然不是等同于啊,从字面意思也可以看得出来啊,只不过是先经过OnCloseQuery事件,再转向Close事件,可以在OnCloseQuery事件中拦截Close命令。
teacher1998 2006-03-14
  • 打赏
  • 举报
回复
可以了!设置了FormCloseQuery事件后,以后只要是form的close事件就等同于调用formCloseQuery?

多谢多谢!
结贴了!
cuteant 2006-03-14
  • 打赏
  • 举报
回复
哦,你想达到这个效果啊,,既然你在OnCloseQuery事件中有这个判断,那你在按钮里面直接写Close;就可以了
teacher1998 2006-03-14
  • 打赏
  • 举报
回复
楼上的星星,你看看,
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if messagedlg('你真的要退出本系统吗?',mtconfirmation,[mbyes,mbno],0)=mryes
then
canclose:=true
else canclose:=false;

end;

我加了的啊
多谢你的耐心啊
cuteant 2006-03-14
  • 打赏
  • 举报
回复
第二个问题Form1.FormCloseQuery(form1,true);报错估计是因为你根本没有添加OnCloseQuery事件,编译提示Undeclared identifier: 'FormCloseQuery'

你添加一下就可以了,或者添加后直接写CloseQuery一样的

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧