no consigo ver los datos de la tabla en la consola
Publicado por sladki64eto (1 intervención) el 19/09/2009 01:45:09
using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlServerCe;
namespace ConsoleApplication1
{
class Program
{
string StringConexion = ("DataSource=C:\\Documents and Settings\\Administrador\\Mis documentos\\Visual Studio 2008\\Projects\\proyecto3\\proyecto3\\bin\\debug\\base2.sdf;Persist Security Info=False;");
SqlCeConnection eng;
static void Main()
{
Program p = new Program();
p.Connect();
}
public void Connect()
{
Console.WriteLine("REALIZANDO LA CONEXION");
//creamos la conexion
try
{
eng = new SqlCeConnection(StringConexion);
Console.WriteLine("selecionando filas de una BD");
string query = ("select * from notificaciones");
SqlCeCommand cmd = eng.CreateCommand();
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
eng.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();
Console.WriteLine("HE SIDO CAPAZ DE REALIZAR LA CONEXION A LA BASE2");
while (rdr.Read())
{
int ID = rdr.GetInt32(1);
int DESC = rdr.GetInt32(1);
}
rdr.Close();
eng.Close();
cmd.Dispose();
}
finally
{
System.Console.WriteLine("press any key to exit.");
System.Console.ReadKey();
}
}
}
}
este es mi codigo,el problema que tengo es que no consigo leer datos de la tabla,no obtengo ningun resultado en la consola
el mensaje que me sale al depurar es el siguiente:
No se controlo Invalid Cast Expetion
cuando realiza la conversion de un numero, el valor debe ser un numero menor que infinito
asegurese de que el tipo de origen se puede convertir en el tipo de destino
conversion especifica no es valida
yo creo que el problema puede estar en estas lineas:
int ID = rdr.GetInt32(1);
int DESC = rdr.GetInt32(1);
mis atributos en la tabla (que son ID,DESC) estan declarados como nvarchar
pero he intentado muxas cosas y no soy capaz de encontrar el fallo
muchas gracias por adelantado,
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlServerCe;
namespace ConsoleApplication1
{
class Program
{
string StringConexion = ("DataSource=C:\\Documents and Settings\\Administrador\\Mis documentos\\Visual Studio 2008\\Projects\\proyecto3\\proyecto3\\bin\\debug\\base2.sdf;Persist Security Info=False;");
SqlCeConnection eng;
static void Main()
{
Program p = new Program();
p.Connect();
}
public void Connect()
{
Console.WriteLine("REALIZANDO LA CONEXION");
//creamos la conexion
try
{
eng = new SqlCeConnection(StringConexion);
Console.WriteLine("selecionando filas de una BD");
string query = ("select * from notificaciones");
SqlCeCommand cmd = eng.CreateCommand();
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
eng.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();
Console.WriteLine("HE SIDO CAPAZ DE REALIZAR LA CONEXION A LA BASE2");
while (rdr.Read())
{
int ID = rdr.GetInt32(1);
int DESC = rdr.GetInt32(1);
}
rdr.Close();
eng.Close();
cmd.Dispose();
}
finally
{
System.Console.WriteLine("press any key to exit.");
System.Console.ReadKey();
}
}
}
}
este es mi codigo,el problema que tengo es que no consigo leer datos de la tabla,no obtengo ningun resultado en la consola
el mensaje que me sale al depurar es el siguiente:
No se controlo Invalid Cast Expetion
cuando realiza la conversion de un numero, el valor debe ser un numero menor que infinito
asegurese de que el tipo de origen se puede convertir en el tipo de destino
conversion especifica no es valida
yo creo que el problema puede estar en estas lineas:
int ID = rdr.GetInt32(1);
int DESC = rdr.GetInt32(1);
mis atributos en la tabla (que son ID,DESC) estan declarados como nvarchar
pero he intentado muxas cosas y no soy capaz de encontrar el fallo
muchas gracias por adelantado,
Valora esta pregunta


0