dataset使用的TQuery,sql语句是:
select
studentid,
name,
graduateschool,
department,
schoolinglength,
graduatetype,
releasedate,
modifyman
from stu
where studentid='1'把TQuery.RequestLive:=true,而且database组件的readonly是false,
但是每当TQuery.Edit时,却提示dataset是readonly的,没办法在DBGrid里修改
select
studentid,
name,
graduateschool,
department,
schoolinglength,
graduatetype,
releasedate,
modifyman
from stu
where studentid='1'把TQuery.RequestLive:=true,而且database组件的readonly是false,
但是每当TQuery.Edit时,却提示dataset是readonly的,没办法在DBGrid里修改
如果不放心可以用 Query1.State 属性
在db.pas里声明
TDataSet = class(TComponent, IProviderSupport)
...... public
......
property State: TDataSetState read FState;
这里
TDataSetState = (dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey,
dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead,
dsInternalCalc, dsOpening);sInactive 表明数据集控件 is closed, so its data is unavailable.dsEdit 表明数据集控件可以编辑dsBrowse Data can be viewed, but not changed. This is the default state of an open dataset.
其他的可以看 delphi 的帮助.
begin
Query1.Edit;
if Query1.State = dsEdit then
begin
// add your method。
end;
end;