Jump to content
reznor

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

Recommended Posts

reznor

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();

       }

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
nelsonr

Boas,

e como estás a definir o cn?

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

Share this post


Link to post
Share on other sites
reznor

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 :D

Share this post


Link to post
Share on other sites
reznor

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);
           }
       }

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
nelsonr

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

Share this post


Link to post
Share on other sites
reznor

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 :\

Share this post


Link to post
Share on other sites
nelsonr

Não chegaste a responder às questões.

Experimenta o que sugeri e em caso de erro, coloca a mensagem de erro e linha

Share this post


Link to post
Share on other sites
reznor

Não chegaste a responder às questões.

Experimenta o que sugeri e em caso de erro, coloca a mensagem de erro e linha

oops, desculpa!

mas pelo que disseste fui alterando, e cheguei agora a uma solução que funciona melhor! obrigado!

Share this post


Link to post
Share on other sites
DiogoFialho

Penso que tu não estás a associar a conexão ao comando que queres executar. Assim não consegues executar, pois o command não tem a indicação de qual a ligação que irá utilizar para o efeito.

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.