Erro quando ia alterar campo em dbgrid.
Galera, eu estou alterando um campo no dbgrid quando o usuario aperta a tecla espaço, mas da o erro IBQuery: cannot modify a read-only dataset
o que pode ser que esteja errado?
meu código esta abaixo e estava dando certo antes.. estranho kkk
eu estou usando um IBDatabase, IBTransaction, IBQuery e Datasource
if KEY = #32
then begin
if (DBGrid1.Columns[0].Field.Value = '') or (DBGrid1.Columns[0].Field.Value = 'N')
then begin
DM_Principal.DataSource.DataSet.Edit;
DM_Principal.DataSource.DataSet.FieldByName('pr_marca').AsString := 'S';
DM_Principal.DataSource.DataSet.Post;
end
else begin
DM_Principal.DataSource.DataSet.Edit;
DM_Principal.DataSource.DataSet.FieldByName('pr_marca').AsString := 'N';
DM_Principal.DataSource.DataSet.Post;
end;
end;
quem puder ajudar fico grato.
o que pode ser que esteja errado?
meu código esta abaixo e estava dando certo antes.. estranho kkk
eu estou usando um IBDatabase, IBTransaction, IBQuery e Datasource
if KEY = #32
then begin
if (DBGrid1.Columns[0].Field.Value = '') or (DBGrid1.Columns[0].Field.Value = 'N')
then begin
DM_Principal.DataSource.DataSet.Edit;
DM_Principal.DataSource.DataSet.FieldByName('pr_marca').AsString := 'S';
DM_Principal.DataSource.DataSet.Post;
end
else begin
DM_Principal.DataSource.DataSet.Edit;
DM_Principal.DataSource.DataSet.FieldByName('pr_marca').AsString := 'N';
DM_Principal.DataSource.DataSet.Post;
end;
end;
quem puder ajudar fico grato.
Roberto Wutke
Curtidas 0
Respostas
Wesley Yamazack
19/09/2013
Opa Roberto, o problema é que o IBQuery é somente leitura, logo você não consegue editar da forma que está fazendo. Seria necessário você utilizar o ClientDataSet+DataSetProvider, sabe usa-lós???
abs
abs
GOSTEI 0