Sábado 21 de Diciembre de 2024, 17:17
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Nro de registros devueltos en una consulta..
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Nro de registros devueltos en una consulta.. (Leído 2335 veces)
lunaDeEden
Miembro activo
Mensajes: 29
Nro de registros devueltos en una consulta..
«
en:
Lunes 4 de Enero de 2010, 19:24 »
0
Hola a todos realice la siguiente consulta:
trabajo con visual c# 2008 y mysql.
Código: C#
private
void
cmdbuscarf_Click
(
object
sender, EventArgs e
)
{
//busqueda
MySqlConnection CANAL
;
DataSet TABLA
;
MySqlDataAdapter ORDEN
;
CANAL
=
new
MySqlConnection
(
"user id=root;database=tucuman;server=localhost"
)
;
string
q
=
"select Apellido, nombre from t_empleados where id_empleado = @id_empleado"
;
ORDEN
=
new
MySqlDataAdapter
(
q, CANAL
)
;
ORDEN
.
SelectCommand
.
Parameters
.
Add
(
new
MySqlParameter
(
"@Id_empleado"
,MySqlDbType
.
Int64
)
)
;
ORDEN
.
SelectCommand
.
Parameters
[
"@Id_empleado"
]
.
Value
=
t_legajo
.
Text
;
TABLA
=
new
DataSet
(
)
;
ORDEN
.
Fill
(
TABLA,
"t_empleados"
)
;
if
(
TABLA
.
Tables
.
Count
>
0
)
{
// Cargando el datagridview
MessageBox
.
Show
(
"Se encontro"
)
;
datosFamiliar
.
DataSource
=
TABLA
;
datosFamiliar
.
DataMember
=
"t_empleados"
;
}
else
{
MessageBox
.
Show
(
"no hay que mostrar"
)
;
}
CANAL
.
Close
(
)
;
}
pero no puedo hacer que se dispare el mensaje de no encontro registros cuando no hay que mostrar, se muestarn los datos cuando hay, y el datagrid vacio cuando no hay..
Alguien me puede ayudar y decirme donde esta el error...ya que estoy empezando en c#...gracias desde ya..
Tweet
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Nro de registros devueltos en una consulta..
«
Respuesta #1 en:
Lunes 4 de Enero de 2010, 20:48 »
0
Utiliza un
DataTable
en lugar de un
DataSet
Código: C#
DataTable TABLA
=
new
DataTable
(
)
;
Y luego utilizar la propiedad Rows.Count del DataTable:
Código: C#
if
(
TABLA
.
Rows
.
Count
>
0
)
{
// Cargando el datagridview
MessageBox
.
Show
(
"Se encontro"
)
;
datosFamiliar
.
DataSource
=
TABLA
;
datosFamiliar
.
DataMember
=
"t_empleados"
;
}
else
{
MessageBox
.
Show
(
"no hay que mostrar"
)
;
}
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
lunaDeEden
Miembro activo
Mensajes: 29
Re: Nro de registros devueltos en una consulta..
«
Respuesta #2 en:
Martes 5 de Enero de 2010, 02:46 »
0
Hola, gracias por responder, pero no me anda, cambie lo que me dijiste y me da los siguientes errores:
Error 1 Ya se ha definido una variable local denominada 'TABLA' en este ámbito
Error 2 La mejor coincidencia de método sobrecargado para 'System.Data.Common.DataAdapter.Fill(System.Data.DataTable, System.Data.IDataReader)' tiene algunos argumentos no válidos
Error 3 Argumento '2': no se puede convertir de 'string' a 'System.Data.IDataReader'
Te agradeceria muchisimo si me ayudas con esto...mil gracias desde ya...
este es mi codigo modificado:
Código: C#
private
void
cmdbuscarf_Click
(
object
sender, EventArgs e
)
{
//busqueda
MySqlConnection CANAL
;
DataTable TABLA
;
MySqlDataAdapter ORDEN
;
CANAL
=
new
MySqlConnection
(
"user id=root;database=tucuman;server=localhost"
)
;
string
q
=
"select Apellido, nombre from t_empleados where id_empleado = @id_empleado"
;
ORDEN
=
new
MySqlDataAdapter
(
q, CANAL
)
;
ORDEN
.
SelectCommand
.
Parameters
.
Add
(
new
MySqlParameter
(
"@Id_empleado"
,MySqlDbType
.
Int64
)
)
;
ORDEN
.
SelectCommand
.
Parameters
[
"@Id_empleado"
]
.
Value
=
t_legajo
.
Text
;
DataTable TABLA
=
new
DataTable
(
)
;
ORDEN
.
Fill
(
TABLA,
"t_empleados"
)
;
if
(
TABLA
.
Rows
.
Count
>
0
)
{
// Cargando el datagridview
MessageBox
.
Show
(
"Se encontro"
)
;
datosFamiliar
.
DataSource
=
TABLA
;
datosFamiliar
.
DataMember
=
"t_empleados"
;
}
else
{
MessageBox
.
Show
(
"no hay que mostrar"
)
;
}
CANAL
.
Close
(
)
;
}
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Nro de registros devueltos en una consulta..
«
Respuesta #3 en:
Martes 5 de Enero de 2010, 05:14 »
0
1. Estas definiendo dos veces la variable
TABLA
.
2. Como estas utilizando un
DataTable
y no un
DataSet
, no es necesario que le pases el nombre de la tabla al metodo
Fill
, debido a que el DataTable ya es una Tabla.
Te dejo el codigo corregido, no lo probe, pero debe de funcionar:
Código: C#
private
void
cmdbuscarf_Click
(
object
sender, EventArgs e
)
{
//busqueda
MySqlConnection CANAL
;
// Elimina la siguiente linea, ya estas definiendo la variable TABLA
// mas abajo
// DataTable TABLA;
MySqlDataAdapter ORDEN
;
CANAL
=
new
MySqlConnection
(
"user id=root;database=tucuman;server=localhost"
)
;
string
q
=
"select Apellido, nombre from t_empleados where id_empleado = @id_empleado"
;
ORDEN
=
new
MySqlDataAdapter
(
q, CANAL
)
;
ORDEN
.
SelectCommand
.
Parameters
.
Add
(
new
MySqlParameter
(
"@Id_empleado"
,MySqlDbType
.
Int64
)
)
;
ORDEN
.
SelectCommand
.
Parameters
[
"@Id_empleado"
]
.
Value
=
t_legajo
.
Text
;
// Aqui estabas definiendo de nuevo a la variable TABLA, solo se permite
// definirlo una vez dentro de un mismo bloque
DataTable TABLA
=
new
DataTable
(
)
;
// No es necesario pasar el nombre de la tabla, ya que la variable TABLA
// ya es una tabla, y no un DataSet, que es un conjunto de tablas
//ORDEN.Fill(TABLA, "t_empleados");
ORDEN
.
Fill
(
TABLA
)
;
if
(
TABLA
.
Rows
.
Count
>
0
)
{
// Cargando el datagridview
MessageBox
.
Show
(
"Se encontro"
)
;
datosFamiliar
.
DataSource
=
TABLA
;
datosFamiliar
.
DataMember
=
"t_empleados"
;
}
else
{
MessageBox
.
Show
(
"no hay que mostrar"
)
;
}
CANAL
.
Close
(
)
;
}
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
lunaDeEden
Miembro activo
Mensajes: 29
Re: Nro de registros devueltos en una consulta..
«
Respuesta #4 en:
Martes 5 de Enero de 2010, 14:00 »
0
Funciona, un millon de gracias por tomarte el tiempo para responderme...Aunque le quite la siguiente linea:
Código: C#
datosFamiliar
.
DataMember
=
"t_empleados"
;
Asi anda perfecto......Otra vez gracias.....
lunaDeEden
Miembro activo
Mensajes: 29
Re: Nro de registros devueltos en una consulta..
«
Respuesta #5 en:
Martes 5 de Enero de 2010, 14:31 »
0
Hola otra vez ....como te dije anda barbaro, pero me di cuenta que siempre va a ser un solo empleado el que encuentre, o sea no tiene mucho sentido que lo muestre en una GRILLA donde deberia definir unas variable para luego asignarsela a un textbox...gracias
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Nro de registros devueltos en una consulta..