erro = {"Não foi possível converter o valor do parâmetro de String para Byte."}

08/01/2010

0

Fala galera. Estou utilizando o C# 2005 e o SQL2005 a pouco tempo e estou com  o seguinte problema. O C# leê todo o programa e no final da o seguinte erro no --- da.InsertCommand.ExecuteReader();   erro = {"Não foi possível converter o valor do parâmetro de String para Byte."}   Segue abaixo o código inteiro.     using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsApplication1 { public partial class DadosPessoais : Form { public DadosPessoais() { InitializeComponent(); } private void btn_salvar_Click(object sender, EventArgs e) { try { SqlConnection cs = new SqlConnection("Data Source=DKAUF-PC; Initial Catalog=master; Integrated Security=TRUE"); SqlDataAdapter da = new SqlDataAdapter(); da.InsertCommand = new SqlCommand("INSERT INTO Cadastro(NOME, CPF, RG, ESTADOCIVIL, RUA, NUMERO, BAIRRO, CIDADE, CEP, FONERESIDENCIAL) VALUES(@NOME, @CPF, @RG, @ESTADOCIVIL, @RUA, @NUMERO, @BAIRRO, @CIDADE, @CEP, @FONERESIDENCIAL)", cs); da.InsertCommand.Parameters.Add("@NOME", SqlDbType.NVarChar).Value = txtNome.Text.ToString(); da.InsertCommand.Parameters.Add("@CPF", SqlDbType.TinyInt).Value = txtCPF.Text; da.InsertCommand.Parameters.Add("@RG", SqlDbType.TinyInt).Value = txtRG.Text; da.InsertCommand.Parameters.Add("@ESTADOCIVIL", SqlDbType.NVarChar).Value = txtEstadoCivil.Text; da.InsertCommand.Parameters.Add("@RUA", SqlDbType.NVarChar).Value = txtRrua.Text; da.InsertCommand.Parameters.Add("@NUMERO", SqlDbType.TinyInt).Value = txtNumero.Text; da.InsertCommand.Parameters.Add("@BAIRRO", SqlDbType.NVarChar).Value = txtBairro.Text; da.InsertCommand.Parameters.Add("@CIDADE", SqlDbType.NVarChar).Value = txtCidade.Text; da.InsertCommand.Parameters.Add("@CEP", SqlDbType.TinyInt).Value = txtCEP.Text; da.InsertCommand.Parameters.Add("@FONERESIDENCIAL", SqlDbType.TinyInt).Value = txtFoneResidencial.Text; cs.Open(); //MessageBox.Show(cs.State.ToString()); da.InsertCommand.ExecuteReader(); cs.Close(); } catch(Exception erro) { MessageBox.Show("ERRO - Dados no inseridos!!"); } } } }     Desde já agradeço a ajuda de todos..  
Douglas Leandro

Douglas Leandro

Responder

Posts

08/01/2010

Paulo Sena

Pelo que pude observar vc esta com problemas na conversão de valos na hora de adicionar os parametro ao command, muito provavelmente nas conversões de string para TinyInt, observe também o formato dos campos no banco, procure fazer a converser explicita de suas variáveis

da.InsertCommand.Parameters.Add("@NUMERO", SqlDbType.TinyInt).Value = txtNumero.Text;
[Explicita]
da.InsertCommand.Parameters.Add("@NUMERO", SqlDbType.Int).Value = Int.Parse(txtNumero.Text);
Responder

08/01/2010

Douglas Leandro

fala Paulo, valeu pela dica, eu alterei como indicaste, tanto no código como no banco, de TinyInt para Int, mas continua dando erro que agora é o seguinte: erro = {"Valor demasiado grande ou demasiado pequeno para Int32."}   tentei converter para Byte com "BYTECONVERTER "  , e outros convert's também,  mas não obtive sucesso.     Continuo no aguardo de uma solução. Obrigado Paulo.    
Responder

16/02/2010

Eleuterio Gonzalez

Talves a modelagem de seus dados ou a conversão não esteja correta.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar