Jump to content

[Resolvido] Propriedade Connection não inciada [HELP]


reznor
 Share

Recommended Posts

Bom dia!

Não consigo entender o porque de existir um erro no "dr = cmd.ExecuteReader();". faço cn.open que me liga à bd e dá-me o erro de ligação. Alguem me pode ajudar? :\

private void loadlist()
       {
           listBox1.Items.Clear();
           cn.Open();
           cmd.CommandText = "select * from Cliente";
           dr = cmd.ExecuteReader();
           if (dr.HasRows)
           {
               while (dr.Read())
               {
                   listBox1.Items.Add(dr[1].ToString());

                   }
           }
           cn.Close();

       }
Link to comment
Share on other sites

Boas,

e como estás a definir o cn?

E estás a atribuir a ligação (cn) ao command (cmd) ?

boas nelson!

Estou a definir assim!

SqlConnection cn = new SqlConnection(@"Data Source=xxxxxxxxxxxxxxxxxxxxx"); /*Ligação à base de dados*/
SqlCommand cmd = new SqlCommand();

tenho outro form exatamente com a mesma ligação, insere e não dá nenhum erro :\

Esquece, não tinha o cmd associado no load form! Muito obrigado 😄

Link to comment
Share on other sites

Bom dia!

Este erro está a dar cabo de mim, voltou-me a aparecer quando faço teste ao programa, tenho uma tabela cliente onde insiro os dados por Form, mas nao consigo inicializar a ligação à BD, o executereader estoura ao fazer guardar e nao consigo entender o porque... deixo aqui o codigo na esperança de alguem que saiba mais que eu me consiga ajudar! Muito obrigado


 private void FormClientee_Load(object sender, EventArgs e)
       {
           cmd.Connection = cn; /*estabelecer ligacao à bd quando o form é carregado*/
           loadlist(); /*load das listas de apresentação dos dados */
       }
       private void guardar_Click1(object sender, EventArgs e)
       {
           try //(txttipo.Text != "" & txtdescri.Text != "")   /*inserção de valores*/
           {
               cn.Open();
               cmd.CommandText = "insert into Cliente (NumeroCliente,Nome,NIF,Email,Endereco1,Endereco2,CodigoPostal,Pais) values ('" + txtnumcli.Text + "','" + txtnome.Text + "', '"+ txtnif.Text +"', '"+ txtemail +"', '"+txtend.Text+"'. '"+txtend2.Text+"','"+txtcp.Text+"', '"+txtpais.Text+"')";
               cmd.ExecuteNonQuery();
               cmd.Clone();
               MessageBox.Show("Registo guardado!", "Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
               cn.Close();
               txtnumcli.Text = "";
               txtnome.Text = "";
               txtnif.Text = "";
               txtemail.Text = "";
               txtend.Text = "";
               txtend2.Text = "";
               txtcp.Text = "";
               txtpais.Text = "";
               loadlist();
           }
           catch (SqlException)
           {
               MessageBox.Show("Os", "Tivo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
           }
       }
Link to comment
Share on other sites

Qual é o erro exactamente e em que linha?

Para que o cmd.Clone()??

Porque nao crias o cmd ali depois do cn.Open() e associas a ligação (depois da ligação aberta)?

Não te esqueças de fechar a ligação

Já fiz mil e uma alterações e nada funciona. Todos os meus forms estão assim declarados e este é o uncio que me dá este erro, o que é muito estranho, não consigo perceber o porque :\

Link to comment
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
 Share

×
×
  • 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.