Erro:cannot modify a read-only dataset
15/03/2013
0
Seguinte, estou entrando no Delphi agora e estou tendo algumas dificuldades.
Primeiramente fiz a conexão com o banco corretamente e criei um modulo com uma Grid que atraves dela eu faço (Faria)
alterações na Tabela.
Revisei todas as conexoes e os componentes estao correto,inclusive a opção "read-only" esta como False.
Mas mesmo assim ocorre o erro.
"cannot modify a read-only dataset"
Meu banco é feito em MySQL.
Alguem pode me ajudar?
Christiano Treib
Posts
15/03/2013
Francisco Macário
Essa mensagem está um tanto "genérica".
passe um trecho do codigo onde é levantado o erro.
At.
15/03/2013
Christiano Treib
No meu DataModule eu uso:
SQLTable; DataSetProvider; ClientDataSet; DataSource
O erro ocorre logo apos que eu clico no Botao que tem o sequinte codigo:
T_Unidades.SQLTable1.append;
{T_Unidades é o meu data Module}
È isso, mas sequinte, no momento estou no trabalho e nao estou com meu projeto aqui.
Mas logo apos eu vou revisa-lo e informo todo o procedimento.
Mas se tiver ja alguma informação como o que eu passei.
Valeu!
15/03/2013
Francisco Macário
15/03/2013
Christiano Treib
O codigo devera ser esse entao
T_Unidades.ClientDataSet1.append;
Seria isso?
15/03/2013
Francisco Macário
O codigo devera ser esse entao
T_Unidades.ClientDataSet1.append;
Seria isso?
Sim.
Mas para isso o Clientdataset já deve estar aberto.
15/03/2013
Christiano Treib
Vou verificar em casa.
Amanha te digo como ficou.
Valeu mesmo eim...
16/03/2013
Christiano Treib
Deu certo o que vc me passou.
Era isso mesmo.
Estava informando o procedimento errado.
Valeu!!
16/03/2013
Christiano Treib
O que estou fazendo:
A mesma DBGrid que esta conectada a Tabela Unidades ( Cadastro de Unidades de Medida), que contem dois campos. Codigo e Descrição.
O Campo codigo é auto-incremento, porem quando eu insiro uma nova descrição e seto para baixo ou para cima para confirmar o cadastro o campo codigo nao esta se auto-incrementando. Ou seja a numeração automatica nao esta ocorrendo.
Existe mais algum parametro que deve ter para isso ocorrer ou só o fato da tabela ser auto-incremento ja esta certo?
Segue o codigo:
Botao inserir:
F_Dados.ClientDataSet1.append;
DBGrid1.SelectedIndex := 1;
16/03/2013
Christiano Treib
O que estou fazendo:
A mesma DBGrid que esta conectada a Tabela Unidades ( Cadastro de Unidades de Medida), que contem dois campos. Codigo e Descrição.
O Campo codigo é auto-incremento, porem quando eu insiro uma nova descrição e seto para baixo ou para cima para confirmar o cadastro o campo codigo nao esta se auto-incrementando. Ou seja a numeração automatica nao esta ocorrendo.
Existe mais algum parametro que deve ter para isso ocorrer ou só o fato da tabela ser auto-incremento ja esta certo?
Segue o codigo:
Botao inserir:
F_Dados.ClientDataSet1.append;
DBGrid1.SelectedIndex := 1;
16/03/2013
Perivaldo Martins
O que estou fazendo:
A mesma DBGrid que esta conectada a Tabela Unidades ( Cadastro de Unidades de Medida), que contem dois campos. Codigo e Descrição.
O Campo codigo é auto-incremento, porem quando eu insiro uma nova descrição e seto para baixo ou para cima para confirmar o cadastro o campo codigo nao esta se auto-incrementando. Ou seja a numeração automatica nao esta ocorrendo.
Existe mais algum parametro que deve ter para isso ocorrer ou só o fato da tabela ser auto-incremento ja esta certo?
Segue o codigo:
Botao inserir:
F_Dados.ClientDataSet1.append;
DBGrid1.SelectedIndex := 1;
O autoincremento está escrito em seu banco de dados ou é no ClientDataSet? Se for no seu banco vc só verá o valor após salvar os dados ou se conseguir recuperar de uma tabela do sistma dentro do BD.
Boa sorte e bons códigos!
18/03/2013
Christiano Treib
O problema é que esta no meu banco de Dados.
Só que quando eu salvo me diz a mensagem que o valor é obrigatorio, ou seja,o valor do campo Codigo tem que se auto-numerar.
Clique aqui para fazer login e interagir na Comunidade :)