怎样将Edit的text内容写入access数据库?我用的是adoquery.
1.怎样将Edit的text内容写入access数据库?我用的是adoquery.
2.我设置了form的FormCloseQuery事件,现在想用form窗体中的button来调用该事件,代码怎么写?
我写成这样出错:
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Form1.FormCloseQuery(form1,true);
end;
问题点数:20、回复次数:13Top
1 楼teacher1998(英语+asp.net+MsSQL)回复于 2006-03-14 12:19:36 得分 0
帮帮忙啊各位.Top
2 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 12:27:30 得分 14
第一个问题,可不可以说具体点?你是想把Edit的Text存入数据库?用SQL的UpDate语句
第二个问题:
写上CloseQuery;Top
3 楼chb5210(沉默)回复于 2006-03-14 12:30:50 得分 3
连接Access数据库
with AdoQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='INSERT INTO tblNewStudent VALUES('
+char(39)+edit1.Text+char(39)+')';
ExecSQL;
end;Top
4 楼ruthfox()回复于 2006-03-14 12:41:03 得分 3
第二个问题:
var
CanClose: boolean;
begin
Form1.FormCloseQuery(form1, CanClose);
end;Top
5 楼teacher1998(英语+asp.net+MsSQL)回复于 2006-03-14 12:51:46 得分 0
第一个问题已解决.多谢!
to-->ruthfox,还是不能运行啊!
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Form1.FormCloseQuery(form1, CanClose);
//Form1.FormCloseQuery(form1,true);--->这是我自已的
end;Top
6 楼teacher1998(英语+asp.net+MsSQL)回复于 2006-03-14 12:54:48 得分 0
第一个问题我用
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,这个小东西困扰我一晚上.我想问一下为什么要这个东西?也就是: "'+ +'"Top
7 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 12:58:57 得分 0
你要知道SQL.ADD()过程里面的参数是String型的,也就是说是字符串
既然是字符串,连接的时候当然要'+ +'了
同时,字符串在SQL语句中是需要引号的,而一个单引号在字符串中是要用两个单引号代替的
所以就需要'''+ '''
Top
8 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 12:59:11 得分 0
所以就需要'''+ +'''Top
9 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 13:03:49 得分 0
第二个问题Form1.FormCloseQuery(form1,true);报错估计是因为你根本没有添加OnCloseQuery事件,编译提示Undeclared identifier: 'FormCloseQuery'
你添加一下就可以了,或者添加后直接写CloseQuery一样的Top
10 楼teacher1998(英语+asp.net+MsSQL)回复于 2006-03-14 13:17:46 得分 0
楼上的星星,你看看,
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if messagedlg('你真的要退出本系统吗?',mtconfirmation,[mbyes,mbno],0)=mryes
then
canclose:=true
else canclose:=false;
end;
我加了的啊
多谢你的耐心啊Top
11 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 13:28:37 得分 0
哦,你想达到这个效果啊,,既然你在OnCloseQuery事件中有这个判断,那你在按钮里面直接写Close;就可以了Top
12 楼teacher1998(英语+asp.net+MsSQL)回复于 2006-03-14 13:36:28 得分 0
可以了!设置了FormCloseQuery事件后,以后只要是form的close事件就等同于调用formCloseQuery?
多谢多谢!
结贴了!Top
13 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-14 13:38:20 得分 0
当然不是等同于啊,从字面意思也可以看得出来啊,只不过是先经过OnCloseQuery事件,再转向Close事件,可以在OnCloseQuery事件中拦截Close命令。Top




