Estou com uma dificuldade no delphi (sou iniciante)

Delphi

Banco de Dados

11/04/2017

eu estou passando parâmetros para meu client dataset porem ele retorna erro.

cInc.Close;
cInc.CommandText :='Insert Into Usuario (ID, Login, Senha, Nome, CodGrupo, Funcao) Values ( ( Select Max(ID)+1 From Usuario), ' +
'Login ' + edLogin.Text + ',' +'Senha ' + edSenha.Text + ',' +'Nome ' + edNome.Text + ',' +
'CodGrupo ' + edGrupo.Text + ',' + 'Funcao '+ edFuncao.Text +')' ;
cInc.Open;
cInc.Append;

a onde estou errando?
Matheus Quandt

Matheus Quandt

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

11/04/2017

Boa tarde,
Vocês esta replicando as palavras login, senha e nome tanto no set quando nos values.
Seus values devem conter somente os valores e não os nomes das colunas que quer setar. Isso : 'Login ' + edLogin.Text deve ser apenas isso edLogin.Text, ao colocar os valores lembre de colocar o quotedstr.
Se desejar utilizar como paramentro faça assim :

Insert Into Usuario 
  (ID, Login, Senha, Nome, CodGrupo, Funcao) 
Values ( ( Select Max(ID)+1 From Usuario), :Login, :Senha, :Nome, :CodGrupo, :Funcao)


em seguida utilize o paramByName para setar os parâmetros desejados


Espero ter ajudado.
GOSTEI 1

Mais Respostas

Raylan Zibel

Raylan Zibel

11/04/2017

Se está conectado num provider, precisa ir no options dele e habilitar o poAllowCommandText.
Se é um clientdataset sem conexao, precisa chamar o metodo CreateDataSet e passar valores pros Fields do Client.
GOSTEI 0
Raylan Zibel

Raylan Zibel

11/04/2017

Se é um insert, faça diretamente na Query/Dataset.

Isso não faz sentido:
cInc.Open;
cInc.Append;
GOSTEI 0
Matheus Quandt

Matheus Quandt

11/04/2017

Muito obrigado realmente me Ajudou
Gutierrydsn
GOSTEI 0
Matheus Quandt

Matheus Quandt

11/04/2017

Raylan obrigado tbm.

eu ja havia visto isso tbm
foi um descuido mesmo assim muito obrigado a vcs
GOSTEI 0
POSTAR