Jump to content
joaocarlos07

Decimais inserir na bd

Recommended Posts

joaocarlos07

Boa noite a todos surgiu-me uma duvida que depois de googlar nao resolvi :s

É o seguinte eu tenho uma textbox que quero que me guarde um preço de um determinado artigo na BD e tenho o codigo todo feito so que quando eu corro o programa e meto por exemplo o preço : 7.50 na BD so me aparece "7" se meter : 7,50 da-me o seguinte erro no C# " The count of column names and source expressions do not match. [ Column name count = 4,Source expression count = 5 ] "

O campo da BD preço é do tipo Money , alguem me pode ajudar ? é o campo da BD que tem de ser INT ?

Desde ja obrigado a todos


Um Abraço,João Carlos Pinto

Share this post


Link to post
Share on other sites
herty

Nunca trabalhei com o campo money.

Mas tenta por o campo a

SQLServer:

decimal([quantos_numeros_inteiros],[casas_decimais])  Ex.: create table .... decimal(10,2) not null

Oracle:

apenas decimal. Ex.: create ..... decimal not null;

E tenta adcionar um tipo decimal da parte do c#

Share this post


Link to post
Share on other sites
Tiago Salgado

Podes mostrar o código que contem a inserção na BD? Pelo erro que indicas, não estás a usar parametros, o que te recomendo por questões de segurança, e já agora para evitar esse erro :)

Share this post


Link to post
Share on other sites
joaocarlos07

Codigo para inserir produtos é este :

liga.Open();
             //verificar se ja existe 

                        //pesquisa na BD 
                        SqlCeCommand cmd7 = liga.CreateCommand();
                        SqlCeCommand conta1 = liga.CreateCommand();
                        conta1.CommandText = " SELECT COUNT([codbarras]) AS TOTAL FROM [produtos] Where [codbarras] = '" + textBox1.Text + "' ";
                        int quant1 = Convert.ToInt32(Convert.ToString(conta1.ExecuteScalar()));



                        if (quant1 > 0)
                        {
                            MessageBox.Show(" Produto ja inserido ");
                        }
                        else
                        {
                            //insert
                            SqlCeCommand cmdda = new SqlCeCommand("Insert into produtos(codbarras,nome,preco,categoria) values ('" + textBox1.Text + "','" + textBox2.Text + "'," + textBox3.Text + ", '" + comboBox1.Text + "' )", liga);
                            cmdda.ExecuteNonQuery();
                            liga.Close();
                            MessageBox.Show("Registo efectuado com sucesso");
                        }
        }


Um Abraço,João Carlos Pinto

Share this post


Link to post
Share on other sites
joaocarlos07

Como assim ?

Ja agora um offtopic eu tenho um codigo para encriptar password eu encripto no form do login ou quando crio um novo utilizador e ele escolhe a pass ? Obrigado


Um Abraço,João Carlos Pinto

Share this post


Link to post
Share on other sites
Caça
SqlCeCommand cmdda = new SqlCeCommand("Insert into produtos(codbarras,nome,preco,categoria) values (@codbarras,@nome,@preco,@categoria)", liga);
cmdda.Parameters.Add("@codbarras", SqlDbType.VarChar).Value = textBox1.Text;
//...Faz o mesmo para os outros campos, mas tem atenção ao tipo de dados, 
//tens de trocar onde diz Varchar.
cmdda.ExecuteNonQuery();


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
joaocarlos07

Siim ok obrigado vou utilizar isso :)

Sabes me responder a outra pergunta ?

Abraço


Um Abraço,João Carlos Pinto

Share this post


Link to post
Share on other sites
Tiago Salgado

Como assim ?

Ja agora um offtopic eu tenho um codigo para encriptar password eu encripto no form do login ou quando crio um novo utilizador e ele escolhe a pass ? Obrigado

Quando crias o login, a password deve ser guardada na base de dados já encriptada. Depois, quando o utilizador vai fazer o login, deves encriptar a password que o utilizador inseriu e compara-la com a que guardaste anteriormente na base de dados.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.