回 帖 发 新 帖 刷新版面

主题:我想把edit中的记录添加到数据库中,

sql.Add('insert into stu (房间号,姓名,床位)  values('''+EDIT1.TEXT+''','''+EDIT2.TEXT+''','''+EDIT3.TEXT+''')');

跳下面错误‘当前提供者不支持从单一执行恢复多个记录集’
我想把edit中的记录添加到数据库中,
请帮忙解决下。

回复列表 (共9个回复)

沙发

房间号,姓名,床位,字段是什么类型?
句子标点符号用没用错?

板凳

adocommand1.CommandText:='insert into stu (房间号,姓名,床位)  values('''+EDIT1.TEXT+''','''+EDIT2.TEXT+''','''+EDIT3.TEXT+''')';
adocommand1.Execute;

3 楼


是啊..这个操作一定要用 adoquery1.execsql;
不能用adoquery1.open;

4 楼

是的,我用except可以解决 错误的问题,可是,还是有点不是本明白adocommand1.Execute  与 open 的区别是什么??

5 楼

执行后一个能返回结果,一个不能返回结果

6 楼

DBEdit1
这个控件可以用来添加数据记录
向数据集添加一条记录.
ADOQuery.Append

7 楼

第5楼的说法不太严谨,两者都有返回值,只不过open的返回值是一个纪录集,一般只在select 的sql下用;而execSQL的返回值时被插入(insert SQL)或修改(update SQL)的记录数,一般是在insert 或update语句下用。

8 楼

如果用相应的BEDEDIT代替EDIT
  加  QUERY 加 UPDATES 
再用QUERY.APPENG设置新增输入
当然是要QUERY.EXECSQL
QUERY.CLOSE
QUERY.OPEN
这样对数据库操作会不会比较快点是方便点呢,我写数据库程序都是这一模式,显示和新增,修改,删除,保存都比较方便!

9 楼

补充一点,我刚才那种做法是显示和输入都集与一体,当然了,肯定有个DBGRID做个整体显示,这样数据也就比较完整拉!

我来回复

您尚未登录,请登录后再回复。点此登录或注册