Estou com uma dificuldade no delphi (sou iniciante)
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?
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
Curtidas 0
Melhor post
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 :
em seguida utilize o paramByName para setar os parâmetros desejados
Espero ter ajudado.
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
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.
Se é um clientdataset sem conexao, precisa chamar o metodo CreateDataSet e passar valores pros Fields do Client.
GOSTEI 0
Raylan Zibel
11/04/2017
Se é um insert, faça diretamente na Query/Dataset.
Isso não faz sentido:
Isso não faz sentido:
cInc.Open; cInc.Append;
GOSTEI 0
Matheus Quandt
11/04/2017
Muito obrigado realmente me Ajudou
Gutierrydsn
Gutierrydsn
GOSTEI 0
Matheus Quandt
11/04/2017
Raylan obrigado tbm.
eu ja havia visto isso tbm
foi um descuido mesmo assim muito obrigado a vcs
eu ja havia visto isso tbm
foi um descuido mesmo assim muito obrigado a vcs
GOSTEI 0