Codigo excluir - conectar

4 respostas
csharp
cleitonoliveira

Pessoal bom dia,

Será que alguém poderia me ajudar por favor, já quebrei a cabeça já fiz e refiz um projeto mas estou empacando em um problema, estou desenvolvendo um projeto de controle de estoque, e ao excluir da um erro dizendo que o query não esta conectado, gente se alguém quiser e puder entrar remotamente na minha maquina e dar uma olhada, pq sinceramente já fiz todos os modos de conectar, (os que conheço), e a desgrama continua, se alguém puder me dar esta força, sou bem leigo ainda na programação comparado a muitos, então estou com dificuldade neste meu primeiro projeto teste.

4 Respostas

cleitonoliveira

Gente se ajudar segue o codigo:

DALItensCompra

public void ExcluirTodosOsItens(int comcod)

{
SqlCommand cmd = new SqlCommand();
       
        cmd.CommandText = "delete from itenscompra where com_cod = @com_cod;";
        cmd.Parameters.AddWithValue("@com_cod", comcod);
        conexao.Conectar();
        cmd.ExecuteNonQuery();
        conexao.Desconectar();
    }
DalParcelasCompra

public void ExcluirTodasAsParcelas(int comcod)

{
SqlCommand cmd = new SqlCommand();
        cmd.Connection = conexao.objetoConexao;
        cmd.CommandText = "delete from parcelascompra where com_cod = @com_cod;";
        cmd.Parameters.AddWithValue("@com_cod", comcod);
        conexao.Conectar();
        cmd.ExecuteNonQuery();
        conexao.Desconectar();
    }
DALCompra

public void Excluir(int codigo)

{

SqlCommand cmd = new SqlCommand();

cmd.Connection = conexao.objetoConexao;

cmd.CommandText = delete from compra where com_cod = @codigo;;

cmd.Parameters.AddWithValue("@codigo", codigo);

conexao.Conectar();

cmd.ExecuteNonQuery();

conexao.Desconectar();

}
E como o metodo que os chamo.

private void BtExcluir_Click(object sender, EventArgs e)

{

try

{

DialogResult d = MessageBox.Show(Deseja Excluir Este Registro?, Aviso, MessageBoxButtons.YesNo);

if (d.ToString() == Yes)

{

DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao);

int codigo = Convert.ToInt32(txtComCodigo.Text);

//excluir as parcelas da compra

BLLParcelascompra bllp = new BLLParcelascompra(cx);

bllp.ExcluirTodasAsParcelas(codigo);

BLLItensCompra blli = new BLLItensCompra(cx);

blli.ExcluirTodosOsItens(codigo);

//excluir compra

BLLCompra bllc = new BLLCompra(cx);

bllc.Excluir(codigo);

this.LimpaTela();

this.alteraBotoes(1);

}

}

catch(Exception erro)

{

MessageBox.Show(erro.Message);

this.alteraBotoes(3);

}

}
F

Se puder colocar como o erro ta aparecendo ajuda a identificar o problema.

cleitonoliveira

Claro, o erro está assim;

execute NonQuery requer uma connection aberta e disponivel, o estado atual da conexao é fechada.

F

Aparentemente ou você não está passando a variável de conexão do seu banco de dados para o seu comando ou o seu banco de dados não está conseguindo fazer a conexão corretamente, vou mandar um exemplo de como pode ser:

private static void CreateCommand(string queryString,

string connectionString)

{

using (SqlConnection connection = new SqlConnection(

connectionString))

{

SqlCommand command = new SqlCommand(queryString, connection);

command.Connection.Open();

command.ExecuteNonQuery();

}

}

Eu não programo em c# mas qualquer coisa se puder ajudo. Tirei esse trecho de código do site https://docs.microsoft.com/pt-br/dotnet/api/system.data.sqlclient.sqlcommand.executenonquery?view=netframework-4.8

Criado 28 de dezembro de 2019
Ultima resposta 30 de dez. de 2019
Respostas 4
Participantes 2