Quantcast
Channel: c# com sql server
Viewing all articles
Browse latest Browse all 3

c# com sql server

$
0
0

pessoal,

estou tentando usar o sql server 2008 com c#, e acontece o seguinte:

aqui tenho a classe de conexão

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

namespace protocolo
{
    class ConexaoSql
    {
        public String stringConnection;
            private SqlConnection sqlConn;
            private SqlTransaction sqlTrans = null;
            private SqlDataAdapter sqlDA;

            public SqlDataAdapter SqlDA
            {
                get { return sqlDA; }
                set { sqlDA = value; }
            }
            
            public SqlDataReader fbDR;

            public ConexaoSql(String Conn)
            {
                this.stringConnection = Conn;
                sqlConn = new SqlConnection(stringConnection);
            }
            public void iniciaDataAdapter(String instrucaoSQL)
         {
             sqlDA = new SqlDataAdapter(instrucaoSQL, this.sqlConn);   

             sqlDA.SelectCommand.Parameters.Clear();
         }
            public Boolean abrirConexao()
            {
                try
                {
                    this.sqlConn.Open();
                    return true;
                }
                catch (Exception ex)
                {
                    return false;
                }
            }
            public Boolean fecharConexao()
            {
                try
                {
                    this.sqlConn.Open();
                    return true;
                }
                catch (Exception ex)
                {
                    return false;
                }
            }
            public Boolean executarSQL(int tipo)                        
         { 
             this.sqlConn.Open();
             this.sqlTrans = this.sqlConn.BeginTransaction();

             if (tipo == 1)
             {
                 try
                 {
                     sqlDA.SelectCommand.Transaction = this.sqlTrans;
                     sqlDA.SelectCommand.ExecuteNonQuery();
                     this.sqlTrans.Commit();
                     return true;
                 }
                 catch (Exception ex)
                 {
                     this.sqlTrans.Rollback();
                     return false;
                 }
             }
             else if (tipo == 2)
             {
                 try
                 {
                     sqlDA.SelectCommand.Transaction = this.sqlTrans;
                     fbDR = sqlDA.SelectCommand.ExecuteReader();
                     return true;
                 }
                 catch (Exception ex)
                 {
                     return false;
                 }
             }                                                      
             else
             {
                 return false;
             }
         }
        }
    }

aqui tenho o comando de login

namespace protocolo
{
    public partial class Form1 : Form
    {
        private ConexaoSql ConSql;
        private string strConexao = @"Data Source=(local)\sqlexpress;Initial Catalog=cartorio.sdf;Integrated Security=True";
        private DataSet DS;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnEntrar_Click(object sender, EventArgs e)
        {
            ConSql = new ConexaoSql(strConexao);
            ConSql.iniciaDataAdapter("select count(*) from usuario where usuario=@usuario and senha=@senha");

            ConSql.SqlDA.SelectCommand.Parameters.Add("@usuario", SqlDbType.VarChar).Value = txtUsuario.Text;
            ConSql.SqlDA.SelectCommand.Parameters.Add("@senha", SqlDbType.VarChar).Value = txtSenha.Text;

            ConSql.abrirConexao();
            int i = (int)ConSql.SqlDA.SelectCommand.ExecuteScalar();

            if (i > 0)
            {
                MessageBox.Show("Sistema liberado!!");
                txtUsuario.Clear();
                txtSenha.Clear();

                this.Hide();
                //formPrincipal formprincipal = new formPrincipal();
                //formprincipal.ShowDialog();
                this.Visible = false;
                this.Dispose();
                this.Close();
                Application.Exit();
            }
            else
            {
                lblError.Text = "Acesso não autorizado!!";
            }
        }
    }
        }

Quando vou tentar logar aparece o seguinte erro:

"ExecuteScalar requer uma conexão aberta e disponível. O estado atual da conexão é fechada".

Já revisei o código, mas infelizmente não sei onde está o erro.

Será que alguém poderia me ajudar.

obrigado.

gustavo

 


Viewing all articles
Browse latest Browse all 3

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Gwapo Quotes : Babaero Quotes


Winx Club para colorear


Girasoles para colorear


Dibujos para colorear de perros


Toro para colorear


Lagarto para colorear


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Kung Fu Panda para colorear


Libros para colorear


Mandalas de flores para colorear


Renos para colorear


Dromedario para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Love Quotes Tagalog


RE: Mutton Pies (mely)


El Vibora (1971) by Francisco V. Coching and Federico C. Javinal





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC