Fórum Erro - Incompatible Types: String and Integer #471406
26/02/2014
0
Boa Noite!!!Não consigo achar o erro!!!Se alguem souber e puder me ajudar!!!!
procedure InserirOperadores(Codigo:Integer; Situacao: String; Nome: String;
NomeFantasia: String; Senha: Integer; Confirmacao: Integer; Endereco: String;
Numero: String; Cidade: String; Estado: String; Cep: String;
DataNascimento: String; DataAdmissao: String;
DataDemissao: String; Cpf: String; Rg: String; Telefone1: String; Telefone2: String;
ComissaoAvista: Integer; ComissaoAprazo: Integer; Empresa: String; Departamento: String;
Email: String; Observacoes: String); {Inserir Operadores No Banco De Dados}
procedure TFrmCadOperadores.InserirOperadores(Codigo: Integer; Situacao: String; Nome: String;
NomeFantasia: String; Senha: Integer; Confirmacao: Integer; Endereco: String;
Numero: String; Cidade: String; Estado: String; Cep: String;
DataNascimento: String; DataAdmissao: String;
DataDemissao: String; Cpf: String; Rg: String; Telefone1: String; Telefone2: String;
ComissaoAvista: Integer; ComissaoAprazo: Integer; Empresa: String; Departamento: String;
Email: String; Observacoes: String);
begin
WITH Dm.QueryCadOperadores Do
begin
Close; //Fecha a QueryCadOperadores
SQL.Clear;//Limpa a Sql da QueryCadOperadores
SQL.Add(''''INSERT INTO CadOperadores (Codigo, Situacao, Nome, NomeFantasia,'''' +
''''Senha, Confirmacao, Endereco, Numero, Cidade, Estado, Cep, DataNascimento,'''' +
''''DataAdmissao, DataDemissao, Cpf, Rg, Telefone1, Telefone2, ComissaoAvista,'''' +
''''ComissaoAprazo, Empresa, Departamento, Email, Observacoes)'''' +
''''VALUES(:Codigo,:Situacao, :Nome, :NomeFantasia, :Senha, :Confirmacao,'''' +
'''':Endereco, :Numero, :Cidade, :Estado, :Cep, :DataNascimento, '''' +
'''':DataAdmissao, :DataDemissao, :Cpf, :Rg, :Telefone1, :Telefone2, :ComissaoAvista,''''+
'''':ComissaoAprazo, :Empresa, :Departamento, :Email, :Observacoes)'''');//Insere No Banco os Dados dos Edits
Parameters.ParamByName(''''Codigo'''').Value := Codigo;
Parameters.ParamByName(''''Situacao'''').Value := Situacao;
Parameters.ParamByName(''''Nome'''').Value := Nome;
Parameters.ParamByName(''''NomeFantasia'''').Value := NomeFantasia;
Parameters.ParamByName(''''Senha'''').Value := Senha;
Parameters.ParamByName(''''Confirmacao'''').Value := Confirmacao;
Parameters.ParamByName(''''Endereco'''').Value := Endereco;
Parameters.ParamByName(''''Numero'''').Value := Numero;
Parameters.ParamByName(''''Cidade'''').Value := Cidade;
Parameters.ParamByName(''''Estado'''').Value := Estado;
Parameters.ParamByName(''''Cep'''').Value := Cep;
Parameters.ParamByName(''''DataNascimento'''').Value := DataNascimento;
Parameters.ParamByName(''''DataAdmissao'''').Value := DataAdmissao;
Parameters.ParamByName(''''DataDemissao'''').Value := DataDemissao;
Parameters.ParamByName(''''Cpf'''').Value := Cpf;
Parameters.ParamByName(''''Rg'''').Value := Rg;
Parameters.ParamByName(''''Telefone1'''').Value := Telefone1;
Parameters.ParamByName(''''Telefone2'''').Value := Telefone2;
Parameters.ParamByName(''''ComissaoAvista'''').Value := ComissaoAvista;
Parameters.ParamByName(''''ComissaoAprazo'''').Value := ComissaoAprazo;
Parameters.ParamByName(''''Empresa'''').Value := Empresa;
Parameters.ParamByName(''''Departamento'''').Value := Departamento;
Parameters.ParamByName(''''Email'''').Value := Email;
Parameters.ParamByName(''''Observacoes'''').Value := Observacoes;
ExecSQL;//Executa o Sql Acima
end;
ShowMessage(''''Cadastro Efetuado Com Sucesso!'''');
end;procedure TFrmCadOperadores.SpeedBtnGravarClick(Sender: TObject); begin InserirOperadores(StrToInt(EdtCodigo.Text), EdtSituacao.Text, EdtNome.Text, EdtNomeFantasia.Text,+ StrToInt(EdtSenha.Text), StrToInt(EdtConfirmacao.Text), EdtEndereco.Text+ EdtNumero.Text, EdtCidade.Text, EdtEstado.Text, MskCep.Text, MskDataNascimento.Text+ MskDataAdmissao.Text, MskDataDemissao.Text, MskCpf.Text, EdtRg.Text, MskTelefone1.Text+ MskTelefone2.Text, StrToInt(EdtComissaoAvista.Text), StrToInt(EdtComissaoAprazo.Text)+ EdtEmpresa.Text, EdtDepartamento.Text, EdtEmail.Text, MemoObservacoes.Lines); end;
Bruno Henrique
Curtir tópico
+ 0
Responder
Posts
26/02/2014
Bruno Henrique
Alguem Sabe?
Responder
Gostei + 0
27/02/2014
Ricardo
Alguem Sabe?
Amigo não prestei atenção em todas a linhas do seu código porque já está tarde, mas se vc está recebendo a mensagem informando que o tipo de dados são incompatíveis é porque lá no seu banco de dados tem algum campo declarado como Inteiro ou String e vc esta tentando passar um parâmetro que é o inverso. Tipo vc tem um campo inteiro e esta querendo gravar nele um valor string ou então o seu campo é string e vc esta querendo salvar um valor inteiro.
Então para resolver vc tem que ver onde é essa linha, provavelmente é no ID (não li o seu código detalhadamente estou supondo por causa do tipo de dados acusado no erro) ou outro campo com valor númerico e usar as funções StrToInt ou IntToStr pra converter esses valores antes de salvá-los.
Você também pode fazer o seguinte: Nas linhas passando os parâmetros para o banco você substitui o ".Value" pelo tipo de dado.
Exemplo:
Parameters.ParamByName(''''Codigo'''').AsInteger := Codigo;
Parameters.ParamByName(''''Situacao'''').AsString := Situacao;
e assim por diante.
Eu geralmente uso o .Value quando eu estou passando o valor desse campo para outro lugar. Usá-lo em geral da certo mas as vezes acontecem coisas que ninguém explica então eu evito.
Exemplo:
variavel X := tabela.FieldByName('campo').value;
Agora quando eu estou recebendo aí uso
tabela.FieldByName('campo').AsString := tabela2.FieldByName('campo').value;
tabela.FieldByName('campo').AsInteger ...
tabela.FieldByName('campo').AsDate...
tabela.FieldByName('campo').AsDateTime ...
etc...
Não sei se expliquei de forma coerente e de fácil compreensão, mas espero que possa ter ajudado. Qualquer coisa entre em contato.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)