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);
}
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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)