elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Conexion Base de Datos con ACCESS ó SQL SERVER 2005
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Conexion Base de Datos con ACCESS ó SQL SERVER 2005  (Leído 8,200 veces)
Noskcire

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« en: 27 Julio 2009, 19:17 pm »

Hola A Todos mi problema es este:

Como lo he dicho antes estoy desarrollando una aplicación en donde tengo un login.
He creado una base de datos de prueba llamada: USUARIO EN ACCESS 2007
donde esta cuenta solamente con una Tabla llamada: USUARIOS tambien; esta tiene dos campos: uno llamado "usuario" y otro llamado "clave"

Quiero conectar esta base de datos para poder hacer la validación en mi formulario LOGIN

Cuando le preciono el botón aceptar no hace nada , pero parece que mi conexuion esta bien o no se porke no me tira ningun error al ejecutar mi aplicación
Solo que no me hace la validación y de prueba he puesto un MessageBox.Show("bien ha pasado")



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication1
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }
         
             
        private void LoginForm_Load(object sender, EventArgs e)
        {
           
                 
        }
             
        //evento para el botón Aceptar
        private void Aceptar_btn_Click(object sender, EventArgs e)
        {
            //cerando la cadena de conexion
            string cadena =
            @"Provider=Microsoft.ACE.OLEDB.12.0;

               Data Source=C:\Documents and Settings\Administrator\Desktop\ING. Figueroa\programacion . NET\C#\Proyecto\ORES SOFT\WindowsFormsOreSoft\WindowsFormsOreSoftAPP\USUARIOS.accdb;Persist Security Info=False";

            //Objeto conexion
            OleDbConnection conexion = new OleDbConnection(cadena);
            conexion.Open();
         
            string Usuario = this.usuario_tbx.Text;
            string Clave = this.clave_tbx.Text;

            if (Usuario == "" || Clave == "")
            {
                MessageBox.Show("Debe llenar los Campos");
                this.usuario_tbx.Focus();
                return;
           
            }
         
    //Hago mi consulta           
     string strsql = "SELECT [USUARIO], [CLAVE] FROM USUARIOS WHERE [USUARIO]=" + this.usuario_tbx + "[CLAVE]=" + this.clave_tbx + "";
             
         
            //admin y ore es la credencial en mi tabla de USUARIOS

            if (Usuario == "admin" && Clave == "Ore")
            {                                             
                MessageBox.Show("hola ,paso");
                       
            }
         
        }
        //Evento Botón Cancelar
        private void Cancelar_btn_Click(object sender, EventArgs e)
        { 
            //Sale de la aplicacion
            Application.Exit();
                                 
        }
     
                   
    }
}


En línea

Las Intenciones Secretas son como aguas profundas
per quien sabe descubrilas , es inteligente...
Pablo Videla


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #1 en: 29 Julio 2009, 00:06 am »

Hola que tal , creo que la consulta sql, esta mal hecha... seria tu la tienes asi

Código
  1. string strsql = "SELECT [USUARIO], [CLAVE] FROM USUARIOS WHERE [USUARIO]=" + this.usuario_tbx + "[CLAVE]=" + this.clave_tbx +

creo que seria asi la forma correcta

Código
  1. string strsql = "SELECT [USUARIO], [CLAVE] FROM USUARIOS WHERE [USUARIO]=" + this.usuario_tbx.Text + " AND [CLAVE]=" + this.clave_tbx.Text +"
  2.  
  3. // si los datos son de textos algunos necesitan la comilla simple '
  4. // dependiendo en que caso se vea...
  5. // tu error era que te falta la clausula AND en la consulta sql
  6. // puedo estar equivocado , pero confirmalo.
  7.  

Y otra cosa, de donde estas obteniendo los datos clave y usuario , no veo que lo guarden en la variable que supuestamente deben obtener de la consulta sql.... creo que hay varios problemas ahi , por que no estas validando segun la consulta sql.....  :-\


aqui te dejo un ejemplo como deberia ser... esto lo hice yo...

Código
  1.  OleDbConnection cnn = new OleDbConnection();
  2.                cnn.ConnectionString = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\autos.mdb";
  3.                cnn.Open();
  4.                OleDbCommand select = new OleDbCommand("select * from usuarios where usuario = "+txt1.Text+" and password = "+txt2.Text+"");
  5.                OleDbDataReader resultado;
  6.                resultado = select.ExecuteReader();
  7. // significa que mientras resultado arroje algo entrara en el while, si no , no //actuara
  8.                while (resultado.Read())
  9.                {
  10.                    MsgBox("Entre al Sistema");
  11.                }// el codigo ha sido modificado para tu comprension
  12.  


« Última modificación: 29 Julio 2009, 00:17 am por BadDevil » En línea

Noskcire

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #2 en: 30 Julio 2009, 17:58 pm »

Hola Hermano Gracias por la atención pero sigo con el problema.
Resulta que lo hice como me dijiste y me tira una exepción :

Connection property has not been initialized.

y se para el debuger en esta parte del codigo:

  resultado = select.ExecuteReader();

AHORA MIRA TAMBIEN LO MODIFIQUE CONBINANDO LO que ME DISTE CON LO
QUE TENIA PERO TAMBIEN ME TIRA ESTA EXEPCION:

ExecuteReader requires an open and available Connection

MIRA MI AULTIMO CODIGO:

//evento para el botón Aceptar
        private void Aceptar_btn_Click(object sender, EventArgs e)
        {
            string cadena = @"PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\Administrator\Desktop\ING. Figueroa\programacion . NET\C#\Proyecto\ORES SOFT\WindowsFormsOreSoft\WindowsFormsOreSoftAPP\usuARIOS.accdb";
         

            // cadena de lectura
            string strsql = "select * from  USUARIOS where USUARIO  = " + usuario_tbx.Text + " and CLAVE =" + clave_tbx.Text + "";

            using (OleDbConnection conexion = new OleDbConnection(cadena))
            {
                OleDbCommand select = new OleDbCommand(strsql, conexion);
                OleDbDataReader resultado = select.ExecuteReader();
                conexion.Open();
                resultado.NextResult();
                conexion.Dispose();
                while (resultado.Read())
                {

                    MessageBox.Show("Entre al sistema");
                    // el codigo ha sido modificado para tu comprension

                }

                resultado.Close();
            }         
                                       
       
        }

Y RECUERDATE QUE  ESTA BASE DE DATOS ES EN ACCESS 2007 POR ESO EL PROVIDER LO PUSE COMO ESTA Y NO COMO TU LO PUSISTE

SI POR FAVOR ME PODRIAS MANDAR ALGO TERMINADO OSEA UN EJEMPLO CON TODO EL CODIGO, TE LO AGRADECERIA HERMANO YA ESTOY ROJO CON ESTO

GRACIAS ESPERO RESP...!!!1
En línea

Las Intenciones Secretas son como aguas profundas
per quien sabe descubrilas , es inteligente...
Pablo Videla


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #3 en: 30 Julio 2009, 18:51 pm »

Coloca OleDbDataReader resultado = select.ExecuteReader(); antes del executeReader por eso no detecta la conexion. , saludos si sigues con problemas me dices y te busco ejemplos
En línea

Noskcire

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #4 en: 30 Julio 2009, 21:39 pm »

ok te hago saber si me funciona y si no por favor buscame un ejemplo creado please!!
En línea

Las Intenciones Secretas son como aguas profundas
per quien sabe descubrilas , es inteligente...
Noskcire

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #5 en: 30 Julio 2009, 21:45 pm »

no me funcionó out! si sta a tu alcance los ejemplos plz
En línea

Las Intenciones Secretas son como aguas profundas
per quien sabe descubrilas , es inteligente...
Pablo Videla


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #6 en: 30 Julio 2009, 22:28 pm »

mas claro imposible

Código
  1. private void btAcceder_Click(object sender, EventArgs e)
  2.        {
  3.            try
  4.            {
  5.                OleDbConnection cnn = new OleDbConnection();
  6.                cnn.ConnectionString = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\autos.mdb";
  7.                cnn.Open();
  8.                OleDbCommand select = new OleDbCommand("select * from conexion where password = '" + txtPassword.Text + "'", cnn);
  9.                OleDbDataReader resultado;
  10.                resultado = select.ExecuteReader();
  11.  
  12.                while (resultado.Read())
  13.                {
  14.                    MessageBox.Show("Clave Correcta");
  15.                    tabControl1.Visible = true;
  16.                    btVerBase.Visible = true;
  17.                    btAcceder.Visible = false;
  18.                    txtPassword.Visible = false;
  19.                    label19.Visible = false;
  20.                    lbMaxConVerde.Visible = false;
  21.                    label1.Visible = true;
  22.                    //size 662; 689
  23.                    this.Size = new System.Drawing.Size(662, 689);
  24.                }
  25.                if (tabControl1.Visible == false)
  26.                {
  27.                    MessageBox.Show("Clave Incorrecta , intente nuevamente");
  28.                }
  29.  
  30.  
  31.            }
  32.            catch (Exception error)
  33.            {
  34.                MessageBox.Show("Error..." + error.Message);
  35.            }
  36.  
  37.        }
En línea

Noskcire

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #7 en: 3 Agosto 2009, 20:46 pm »

Gracias hermano , de todos modos no funciono, mejor lo hare con el sql en vez del acces
En línea

Las Intenciones Secretas son como aguas profundas
per quien sabe descubrilas , es inteligente...
Pablo Videla


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #8 en: 3 Agosto 2009, 23:16 pm »

Por que no funciono :huh: , tratamos de solucionarlo viejo , de eso se trata la programacion , solucionar problemas  ;D

ahora dinos que error te salio y todo con lujos de detalles si es posible, los codigos completos
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Conexion Base de Datos con ACCESS ó SQL SERVER 2005
« Respuesta #9 en: 4 Agosto 2009, 04:19 am »

Gracias hermano , de todos modos no funciono, mejor lo hare con el sql en vez del acces


un ejemplo mas facil no te pudieron poner...deci porque no te funciono...sino es pura suposición...mira el codigo y seguilo y fijate porque no anda...no creo que lo hayas escrito tal cual, debes adaptarlo a lo que vos tenes...

saludos.
En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PREGUNTA: Base de datos con privilegios en sql server 2005 express
Bases de Datos
Slevink 0 2,563 Último mensaje 6 Junio 2011, 12:02 pm
por Slevink
vincular BD SQL Server 2005/2008 a MS Access 2007
Bases de Datos
rla1965 0 3,311 Último mensaje 5 Agosto 2011, 16:03 pm
por rla1965
base de datos en sql server
Bases de Datos
kyrion24 0 1,350 Último mensaje 27 Febrero 2014, 03:36 am
por kyrion24
AYUDA CON BASE DE DATOS SQL SERVER 2005
Desarrollo Web
indi.co 0 1,210 Último mensaje 4 Noviembre 2014, 15:15 pm
por indi.co
En base de datos SQL server hay en un string 2 espacios
Bases de Datos
ElInquisidor 2 1,650 Último mensaje 7 Mayo 2016, 19:40 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines