使用SQL可不可以修改当前数据指针所指向的记录的数据,就象使用
Table1->Field[0]->Value = Value;这么简单。我使用Query1->Field[0]->Value = 1,会抛出一个"不能修改只读的数据集"的异常。
Table1->Field[0]->Value = Value;这么简单。我使用Query1->Field[0]->Value = 1,会抛出一个"不能修改只读的数据集"的异常。
解决方案 »
- 请问如何让窗体作为模态对话框和非模态对话框显示?
- textOut 几个不同长度的字符串 怎么样让他们 右 对齐 请高手指教>
- 创建线程方式不正确,还请高手帮忙啊
- 求助,数字转化为繁体中文×
- 关于在WINDOWS SERVER 2003下安装DELPHI 7的故障问题
- 请教一个数据库表和treeview的问题-急!!!
- 问一个EHLIB控件的问题 知道的大大帮忙啊
- 安装RX275出现“file not found:'rashell.dcu'",怎么回事?而在同一目录是有此文件的。
- 如何获得打开输入法的“热键”(例如Ctrl+Space)???以及切换的“热键”???????
- 在数据库查询中,怎么样实现象VB中WHERE LIKE语句的效果?
- 用write函数写表数据导出到文本文件中怎样换行?
- 我使用wise打包,如何把用户选择的安装地址,写入注册表呢?请帮助.
看看理论书,理解一下表和视图的区别。
2.对goldendays(冻冻):谢谢!
3.问pazee(耙子):可以简单说一下表和视图的关系吗?我在书上找不到。是不是表是实际数据的载体,不可视;视图是可视的。这跟Query和Table有什么区别呢?
简单的说
视图是一个从表或者多个表得到的数据集,可以理解为经过加工的数据,它不一定能和原来表存在简单映射关系。他的修改,最终需要反映到表上面,所以,它能否被修改需要很多条件限制,因为数据引擎可能没办法知道视图中某个元素如何去对应原来的表,不像其他人说的简单的一个RequestLive变为True就行的。
而表示可以修改的。比如
select a, sum(b), sum(c)
from table1
group by a这样的Query得到的结果 RequestLive是不可能变成True,不同的数据引擎对于视图可修改的条件是不同,BDE严格些,ADO宽松些。但是有些视图是绝对不能直接修改的,比如使用了join的,多个表返回查询结果的等等。
你可以通过判断 CanModify 属性来知道Query的结果是否可修改,如果是True,RequestLive 才能设为 true,否则永远是flase的。BDE的严格甚至限制了非主键(或者索引)排序的结果,就是说,如果你得order by xxx,这个xxx 没有索引,这个视图就是只读的。BDE提供了 TUpdateSQL 来修改只读视图,他的功能是强大的,因为它允许你自己写修改视图的SQL,所以,理论上它能修改任何只读视图,当然这个修改最终是通过SQL完成的,所以他实际修改的是表本身,而不是视图。