请教个Delphi7的问题~!
我用的delphi7的ADO连接的Access数据库,相关属性也设置好了,请问如何把edit控件的text内容添加到Access里?我这样写的:
procedure TForm3.RzButton1Click(Sender: TObject);
begin
qry1.Active:=False;
qry1.Edit;
qry1.FieldByName('员工号').Value:=RzEdit1.Text;
qry1.FieldByName('密码').Value:=RzEdit2.Text;
qry1.FieldByName('姓名').Value:=RzEdit3.Text;
qry1.FieldByName('生日').Value:=RzEdit4.Text;
qry1.FieldByName('性别').Value:=RzComboBox1.Value;
qry1.FieldByName('部门').Value:=RzComboBox2.text;
qry1.FieldByName('职务').Value:=RzComboBox3.text;
qry1.FieldByName('受教育水平').Value:=RzComboBox4.text;
qry1.FieldByName('专业').Value:=RzEdit5.Text;
qry1.FieldByName('住址').Value:=RzEdit6.Text;
qry1.FieldByName('电话').Value:=RzEdit7.Text;
qry1.FieldByName('E-mail').Value:=RzEdit8.Text;
qry1.FieldByName('备注').Value:=RzMemo1.Text;
qry1.Post;
qry1.Active:=True;
end;
结果运行的时候报错:
qry1:Cannot perform this operation on a closed dataset.
怎么解决啊?代码应该如何写?越详细越好。谢谢高手了!!
[解决办法]
把DBedit.text的DataField设置成相应字段
然后添加一个“添加按钮”
写下面语句
adoquery1.insert;//将表设置为插入状态
dbedit1.setfocus;//焦点定位在第一个编号中
然后直接在Dbedit.text中输入新数据
最后添加一个“刷新”按钮,刷新数据库,新数据就保存好了
刷新语句如下:if(adoquery1.modified) then
adoquery1.post;//如果表已过期,则刷新
这样比较简单,
[解决办法]
procedure TForm3.RzButton1Click(Sender: TObject);begin qry1.Active:=True; qry1.Edit; qry1.FieldByName('员工号').Value:=RzEdit1.Text; qry1.FieldByName('密码').Value:=RzEdit2.Text; qry1.FieldByName('姓名').Value:=RzEdit3.Text; qry1.FieldByName('生日').Value:=RzEdit4.Text; qry1.FieldByName('性别').Value:=RzComboBox1.Value; qry1.FieldByName('部门').Value:=RzComboBox2.text; qry1.FieldByName('职务').Value:=RzComboBox3.text; qry1.FieldByName('受教育水平').Value:=RzComboBox4.text; qry1.FieldByName('专业').Value:=RzEdit5.Text; qry1.FieldByName('住址').Value:=RzEdit6.Text; qry1.FieldByName('电话').Value:=RzEdit7.Text; qry1.FieldByName('E-mail').Value:=RzEdit8.Text; qry1.FieldByName('备注').Value:=RzMemo1.Text; qry1.Post; qry1.Active:=False;end;