C sharp - Error al conectar Base de Datos access en C#

 
Vista:
sin imagen de perfil

Error al conectar Base de Datos access en C#

Publicado por Antoñito Manuel (31 intervenciones) el 27/08/2016 12:33:30
Hola buenos días.
Les haré una consulta por si alguno puede aportar una aclaración.
Estoy haciendo un proyecto de ejemplo (para aprender), después de poner el código y controles el funcionamiento me sale fallido, este es mi código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace ConexiónOleDb_Access_Csharp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnConectar_Click(object sender, EventArgs e)
        {
            // 1.Crear Objeto de Conexión ...
            OleDbConnection Conexión = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='G:\\Ejemplos Bases de Datos\\Nóminas.accdb'");
 
            // 2.Nos Conectamos a la Base de Datos ...
            Conexión.Open();
 
            // 3.Armar nuestra Query ...
            string Consulta = "select Id, Nombre, Horas Trabajadas, Valor Horas, Sindicado, Hijos from Sueldos where Id = '" + txtID.Text + "' and Nombre = '" + txtNombre.Text + "' and Horas Trabajadas = '" + txtHorasT.Text + "' and Valor Horas = '" + txtValorH.Text + "' and Sindicado = '" + txtSindicato.Text + "' and Hijos = '" + txtHijos.Text + "';";
 
            // 4.Crear Objeto Comando ...
            OleDbCommand Comando = new OleDbCommand(Consulta, Conexión);
 
            // 5.Declarar una Variable tipo Reader ...
            OleDbDataReader LectorDatos;
 
            // 6.Vamos a Ejecutar la Query a través del Objeto Comendo ...
            LectorDatos = Comando.ExecuteReader();
 
            // 7.Validar si el Lector de Datos tiene Registros ...
            Boolean ExistenciaRegistros = LectorDatos.HasRows;
        }
 
        private void btnSalir_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}

El error que me sale es el que les incluyo en la imagen.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 707
Oro
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Error al conectar Base de Datos access en C#

Publicado por Wilfredo Patricio Castillo (416 intervenciones) el 27/08/2016 17:58:36
Eso es un error sencillo, el campo tiene espacio en blanco en el nombre de los campos, osea que está así:

Horas Trabajadas, entonces en esos casos deberías hacerlo así;
[Horas Trabajadas].

Otra cosa, si estás practicando como dices, no practiques cosas malas, esas concatenaciones son peligrosas y horribles.

Busca mejores prácticas.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

<a href="#">Error</a> al <a href="#">conectar</a> <a href="#"&g

Publicado por Manuel F. (33 intervenciones) el 28/08/2016 00:18:46
Muy buenas tardes !!!

Estoy de acuerdo con Wilfredo Patricio Castillo. A parte, te aconsejaría que para este o cualquier otro proyecto, replantearas las consultas de una manera más corta, precisa y sencilla (en la medida de lo posible) ya que a más sencilla dicha consulta, más fácil de detectar y corregir un error que se pueda generar a causa de ella.

Otra cosa al final de la consulta que colocaste: ...+ txtHijos.Text + "';";, me paraece quehay un ";" (punto y coma) de más... solo debería el que está al final: ...+ txtHijos.Text + "'";



Saludos !!!

Manuel F. Borrego Sterling
Barcelona, Efo. Anzoátegui. Venezuela.
[Mientras nos permitan seguir comunicándonos]...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

<a href="#">Error</a> al <a href="#">conectar</a> <a href="#"&a

Publicado por Antoñito Manuel (31 intervenciones) el 28/08/2016 18:17:47
Buenas tardes, os agradezco vuestra aportación, aunque hasta ahora no me ha servido, sin contar las críticas, que no son constructivas.
Estoy aprendiendo desde el gwbasic, Aunque reconozco que no aprendo tan rápido como deseara, pero lo intento.
Este programa funcionó en otra forma, ya que no tenía más que dos textbox en el código, incluso con el " ; " de más. Este código es de los pocos que me han funcionado de los que salen en tutoriales en youtube. Muchas veces dicen mira lo que puedes hacer, luego no funciona, ¿porqué?
Antes usaba Visual Basic 6.0 y manejaba bases de datos sin problemas, el NET es lo que me da problemas, que aún no he conseguido hacer una base de datos que manejar, sólo visualizar sin poder manejarlos con controles como el textbox o combobox.
Agradecería una aportación que solucione. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

<a href="#">Error</a> al <a href="#">conectar</a> <a href="#"&a

Publicado por Manuel F. (33 intervenciones) el 30/08/2016 05:00:33
Buenas noches !!!

No lo tomes a mal (por si acaso), aquí ninguno de nosotros es un "genio" de la programación (sobre todo yo, que de vez en cuando, cometo unos errores -horrores- diseñando código que hasta yo mismo me asombro del tamaño de ellos ). En mi caso, te doy unos pequeños tips, basados en las "burradas" que he cometido, como para que no "ruedes con ellas" !!!

Yo, comencé con el antiguo Basic también, pasando por el Visual Basic y la versión .net. Tengo con C# un año y medio aproximadamente (dándole duro !!!) y hermano, me falta muchísimo por aprender.

En este foro, se procura no 'hacerle tareas' a nadie, como más de uno por ahí pretende. En la medida de lo posible se trata de orientar, o como en tu caso, intentar hacer alguna corrección a tu código, si este la necesita.

Así que tranquilo, continúa adelante y esforzándote, que lo estás haciendo bien, para ser alguien que se inicia en este lenguaje !!!

Saludos !!!


Manuel F. Borrego Sterling
Barcelona, Edo. Anzoátegui. Venezuela.
[Mientras nos permitan seguir comunicándonos...]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar