1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

ajuda urgente c# e mysql

Discussão em 'Programação' iniciada por genjet, 3 de Março de 2013. (Respostas: 10; Visualizações: 1025)

  1. boas pessoal eu estou a fazer um programa em c# de gesta de uma residencial mas cheguei a um ponto que tenho um problema
    o meu problema é que e neste momento estou a fazer a inserçao de quartos quando insero os quarto ele da me um erro e o erro é no executenonquery.
    o erro diz assim:there are more columms int the insert stadement then values specefied in the values clause. the number of values clause must match the number of columns specified in the insert stadement.
    o codigo abaixo foi o que eu meti

    Código:
    {            cnn = new System.Data.SqlClient.SqlConnection();
                cnn.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\pap proj\\unidadehoteleira\\unidadehoteleira\\residencialpap.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                //abre a conexao
                cnn.Open();
                if (controlo == 2)
                {
                    this.Validate();
    
    
    
    
                    codigodoquartoTextBox.Enabled = true;
                    tipodequartoTextBox.Enabled = true;
                    precoTextBox.Enabled = true;
    
    
    
    
                    //define o objeto SqlCommand e a instruçao SQL
                    int c = int.Parse(codigodoquartoTextBox.Text);
                    float p = int.Parse(precoTextBox.Text);
    
    
                    SqlCommand cmd = new SqlCommand("INSERT INTO Tipodequartos (Codigodoquarto,Tipodequarto,Preco) VALUES('" + c + tipodequartoTextBox.Text + p + "')", cnn);
                    cmd.ExecuteScalar();
                    this.tableAdapterManager.UpdateAll(this.residencialpapDataSet);
                    MessageBox.Show("tipo de quarto inserido com sucesso!");
    
    
                }
                if (controlo == 1)
                {
                    SqlCommand sql = new SqlCommand("UPDATE Tipodequartos SET Tipodequartos='" + tipodequartoTextBox + "' WHERE codigodoquarto=" + codigodoquartoTextBox.Text + "", cnn);
                    sql.ExecuteNonQuery();
                    MessageBox.Show("A sua alteração foi efectuada com sucesso!");
                    tipodequartoTextBox.Enabled = false;
                    precoTextBox.Enabled = false;
                }
    
    
                //fecha a conexao
                cnn.Close();
            }
    desde ja obrigado pela ajuda
    agradecia uma ajuda urgente por favor
     
  2. Ace-_Ventura

    Ace-_Ventura Power Member

    estão a faltar-te as virgulas e as plicas da string

    Código:
    "INSERT INTO Tipodequartos (Codigodoquarto,Tipodequarto,Preco) VALUES(" + c + ",'" + tipodequartoTextBox.Text "'," + p + ")"
    
    edit:
    Código:
    "UPDATE Tipodequartos SET Tipodequartos='" + tipodequartoTextBox[b].Text[/b] + "' WHERE codigodoquarto=" + Int32.Parse(codigodoquartoTextBox.Text) 
    
    Estou a assumir que o codigodoquarto é inteiro, tipodequarto texto e Preco float.
     
    Última edição: 3 de Março de 2013
  3. sim o tipo de dados é esse
    mas agora tipo ja funciona mas esta com um problema é que tipo quando insiro o tipo de quarto ele diz que inseriu com mas quando fecho a aplicaçao e volto abrir o tipo de quarto que eu inserir nao esta la.
    podias me ajudar por favor.
    e obrigado desde ja pela tua ajuda
     
  4. por favor se alguem souber que me ajude
     
  5. Ace-_Ventura

    Ace-_Ventura Power Member

    não sei o que faz o executeScalar francamente, porque não estás a usar o ExecuteNonQuery?
     
  6. Já meti o executenonquery e funciona mas no up até da me um erro
    Obrigado pela ajuda
     
  7. Ace-_Ventura

    Ace-_Ventura Power Member

  8. da me erro na consulta de sql do update diz cl«oluna invalida
    esse update é para uma botao editar no caso dese quiser editar um tipo de quarto ja criado
    obrigado pela ajuda
     
  9. Ace-_Ventura

    Ace-_Ventura Power Member

    Código:
    UPDATE Tipodequartos SET Tipodequartos=
    O nome do campo não é Tipodequarto?
     
  10. é sim
    objectivo disto é que ao entrar no formulario tem la os tipos de quatros ja inseridos mas por exemplo no caso quer mudar por exemplo o codigo do quatro entao o utilizador pressiona o butao editar ele muda o que quer depois ao clicar no botao guardar ele da o erro
    este foi o codigo que eu usei

     
  11. Ace-_Ventura

    Ace-_Ventura Power Member

    altera o nome do campo que estás a fazer update.
     

Partilhar esta Página