Erro no metodo Insert csharp

11/06/2013

0

Olá a todos
Galera já tentei vários métodos de insert usando programação orientada a objetos mas todos estão retornando o mesmo erro

ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.

alguém consegue ver algum erro nesse fonte abaixo ?
Se estiver certo o problema é com meu sql ou visual estúdio eu tentei usar uma método do amigo Joel que responde aqui no fórum mas retorna sempre esse erro






using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public class dados
{

//fonte da classe
private const string _strCon =@"Data Source=localhost;Initial Catalog=db_CurosVS;Integrated Security=True";
private string vSql = "";
SqlConnection objCon = null;




public bool Conectar()
{
objCon = new SqlConnection(_strCon);
try
{
objCon.Open();
return true;
}

catch
{
return false;

}
finally
{
objCon.Close();

}


}

public bool DesConectar()
{

if (objCon.State != ConnectionState.Closed)
{
objCon.Close();
objCon.Dispose();
return true;

}
else
{
objCon.Dispose();
return false;

}


}

public bool Insert(ArrayList p_arrInsert)
{
vSql = " INSERT INTO CLIENTES (NOME, TELEFONE, EMAIL) VALUES (@NOME, @TELEFONE, @EMAIL)";
SqlCommand objcmd = null;

if (this.Conectar())
{
try
{

objcmd = new SqlCommand(vSql, objCon);
objcmd.Parameters.Add(new SqlParameter("@NOME", p_arrInsert[0]));
objcmd.Parameters.Add(new SqlParameter("@TELEFONE", p_arrInsert[1]));
objcmd.Parameters.Add(new SqlParameter("@EMAIL", p_arrInsert[2]));
objcmd.ExecuteNonQuery();
objcmd.Parameters.Clear();
return true;
}
catch (SqlException e)
{

throw e;
}
finally
{
this.DesConectar();

}
}
else
{
return false;
}

}

public dados()
{

}

}



fonte do webForm

protected void btnInsert_Click(object sender, EventArgs e)
{
dados dt = new dados () ;

ArrayList arr = new ArrayList() ;
dt.Conectar();
arr.Add("regis");
arr.Add("32150505");
arr.Add("Regis.faria@yahoo.com.br");
dt.Insert(arr);



}




Carlos Faria

Carlos Faria

Responder

Posts

11/06/2013

Carlos Faria

Vida de iniciante não e nada fácil. O erro é tão simples que eu fico até com vergonha de não ter percebido isso.
Eu não sou tão iniciante assim eu fui programador Delphi por 4 anos mas eu não trabalhava com orientação a objetos

Eu coloquei um linha finaly na classe de conexão ou seja eu abria e fechava a conexão no método conectar bastou remover ele e pronto

Valeu obrigado a todos
Responder

11/06/2013

Joel Rodrigues

Valeu, Regis.
Tópico CONCLUÍDO.
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