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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema al acceder a la base de datos: SQLserver y c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al acceder a la base de datos: SQLserver y c#  (Leído 2,925 veces)
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Problema al acceder a la base de datos: SQLserver y c#
« en: 10 Junio 2010, 19:31 pm »

Hola, en la aplicación en la que estoy, estoy intentando acceder a la base de datos para almacenar una serie de datos. y me salta un error en el catch (exception) que hago de la conexion. Lo raro esque al principio al realizar la conexión con la base de datos no me da problema ninguno pero luego cuando vuelvo a intentar acceder a ella sí me lo da.

Este es el código que tengo:

Código
  1. public override bool  Nuevo_Contacto(string[] datos)
  2.        {
  3.            bool exito = false;
  4.  
  5.            //Sentencia Sql
  6.            String sentenciaSQL = "insert into contactos values('" + datos[0] + "','" + datos[1] + "','" + datos[2] + "','" +
  7.                     datos[3] + "','" + datos[4] + "','" + datos[5] + "','" + datos[6] + "','" + datos[7] + "','" + datos[8] + "','" +
  8.                     datos[9] + "','" + datos[10] + "','" + datos[11] + "','" + datos[12] + "','" + datos[13] + "','" + datos[14] + "','" +
  9.                     datos[15] + "','" + datos[16] + "','" + datos[17] + "','" + datos[18] + "','" + datos[19] + "','" + datos[20] + "','" +
  10.                     datos[21] + "','" + datos[22] + "','" + datos[23] + "','" + datos[24] + "','" + datos[25] + "','" + datos[26] + "','" +
  11.                     datos[27] + "','" + datos[28] + "'," + datos[29] + "','" + datos[30] + "','" + datos[31] + "','" + datos[32] + "')";
  12.  
  13.            SqlConnection conexion = null;
  14.  
  15.            try
  16.            {
  17.                conexion = new SqlConnection(cadena_conexion);
  18.                conexion.Open();
  19.                SqlCommand comando = new SqlCommand(sentenciaSQL, conexion);
  20.                if (1 != comando.ExecuteNonQuery())
  21.                {
  22.                    MessageBox.Show("Se ha producido un error al acceder a la fuente de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  23.                    exito = false;
  24.                }
  25.                else
  26.                {
  27.                    exito = true;
  28.                }
  29.            }
  30.            catch (Exception)
  31.            {
  32.                MessageBox.Show("Se ha producido un error al acceder a la fuente de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  33.                exito = false;
  34.            }
  35.            finally
  36.            {
  37.                if (conexion != null)
  38.                {
  39.                    if (conexion.State == ConnectionState.Open)
  40.                    {
  41.                        conexion.Close();
  42.                    }
  43.                }
  44.            }
  45.            return exito;
  46.        }

Y el error que me da es en el catch(Exception). Al pasar el depurador en la variable conexion me sale en rojo lo siguiente: {System.Data.SqlClient.SqlConnection}

Alguna solución???


En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Problema al acceder a la base de datos: SQLserver y c#
« Respuesta #1 en: 10 Junio 2010, 19:55 pm »

Podrías dar más detalles sobre el exception?

Al ser {System.Data.SqlClient.SqlConnection} significa que tiene que ver con sqlserver, posiblemente la consulta..

Oye, no es mejor que la crees usando un ciclo y concatenando los items del array?

Pros:
  - Buen uso del trycatch, no todos lo hacen bien.

Contra:
  - Antes de ejecutar la consulta comprueba que se haya abierto la conexión satisfactoriamente.
  - No atajes Exception, hazlo SqlException.

PD: en el catch coloca así:
Código:
catch(SqlException ex)
Pones un brakepoint dentro del catch, cuando salta la exeption metete dentro de ex y busca una propiedad llamada innerException y el innerexception de esta y asi hasta que llegues a la última en donde te dirá exactamente el error que te está dando.

Saludos


En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Problema al acceder a la base de datos: SQLserver y c#
« Respuesta #2 en: 11 Junio 2010, 02:40 am »

Muchas gracias D4n93R

El problema estaba en la sentencia como dijistes que me faltaba una comilla simple. xDD

tema solucionado y gracias por los consejos.

Salu2. ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como acceder a una base de datos online
PHP
josco 2 4,161 Último mensaje 29 Octubre 2012, 01:22 am
por josco
GsSQL.dll, funciones para base de datos SQLServer (BETA)
.NET (C#, VB.NET, ASP)
Franvk83 0 1,425 Último mensaje 17 Junio 2014, 23:39 pm
por Franvk83
Error al acceder a base de datos - C#
.NET (C#, VB.NET, ASP)
ikkaku 4 3,786 Último mensaje 30 Enero 2015, 16:06 pm
por ikkaku
Acceder a una base de datos SQL Server con proxy?
Dudas Generales
Spectatorem 4 2,593 Último mensaje 2 Julio 2015, 06:35 am
por Spectatorem
No puedo acceder a mi base de datos online
PHP
adelazeroth 0 2,127 Último mensaje 5 Septiembre 2017, 20:58 pm
por adelazeroth
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines