Foros del Web » Programación para mayores de 30 ;) » .NET »

Como asignar textbox a variable para buscar en Mysql

Estas en el tema de Como asignar textbox a variable para buscar en Mysql en el foro de .NET en Foros del Web. Tengo una aplicacion de windows form en C# con un textbox,boton y datagrid.Como podria hacer para introducir un dato (numero) en el textbox y asignarlo ...
  #1 (permalink)  
Antiguo 24/05/2009, 07:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Como asignar textbox a variable para buscar en Mysql

Tengo una aplicacion de windows form en C# con un textbox,boton y datagrid.Como podria hacer para introducir un dato (numero) en el textbox y asignarlo a una variable para que asi pueda utilizarla en la en la ordenes de busca en mysql.
  #2 (permalink)  
Antiguo 24/05/2009, 13:10
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

Para poder validar numeros en un TextBox debes utilizar el evento keyPress
crea una clase en tu proyecto
con cualquier nombre
Ejm: ClsUtil
Código C#:
Ver original
  1. public static void SoloNumeros(object sender, KeyPressEventArgs e)
  2.         {
  3.             //Solo Numeros
  4.             if (e.KeyChar >= 48 && e.KeyChar <= 57)
  5.                 e.Handled = false;
  6.             //Acepta  Borrador y Enter
  7.             else if (e.KeyChar == 8 || e.KeyChar == 13)
  8.                 e.Handled = false;
  9.             else
  10.             {
  11.                 e.Handled = true;
  12.             }
  13.         }

en tu formulario digamos q sea frmbuscar.cs

tu caja: txtbuscar
tu boton: btn_buscar
tu grilla: dgvconsulta

en el evento keyPress de la Caja de Texto Pon el Siguiente Codigo:
Código C#:
Ver original
  1. private void txtbuscar_KeyPress(object sender, KeyPressEventArgs e)
  2.         {
  3.             ClsUtil.SoloNumeros(txtbuscar, e);// con esto ya tendriamos la verificacion de solo numeros
  4.         }

en el evento Click del boton
Código C#:
Ver original
  1. //Creamos una Variable en Nuestro formulario
  2.        // Ojo solo es accesible en el formulario
  3.         int Codigo;
  4.         private void btn_buscar_Click(object sender, EventArgs e)
  5.         {
  6.               Codigo = int.Parse(txtbuscar.text.trim());//Capturamos el Contenido del textbox en la variable
  7.              // Aqui realizas tu procedimiento de busqueda
  8.         }

Nota:
Si quieres que esa variable sea global en todo tu proyecto asignalo a la clase

public static int Codigo;

y en el boton lo llamarias de igual modo pero anteponiendo el nombre de la clase
ClsUtil.Codigo = nomcaja;

El modificador static se utilizan para crear datos y funciones a las que se puede tener acceso sin crear una instancia de la clase.
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 24/05/2009, 14:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Hola Dradi7 a ver te cuento hice lo que me dijiste pero creo que no lo hice bien pq me da error al compilar.Voy a pegar aqui lo que hice para que me corrijas sobre la marcha :

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 MySql.Data.MySqlClient;
using MySql.Data;

namespace Consulta3
{
class ClsUtil {

public static void SoloNumeros(object sender, KeyPressEventArgs e)
{

if (e.KeyChar >= 48 && e.KeyChar <= 57)
e.Handled = false;
//Acepta Borrador y Enter
else if (e.KeyChar == 8 || e.KeyChar == 13)
e.Handled = false;
else
{
e.Handled = true;
}
}



}

public partial class Form1 : Form
{

private DataSet bdl;
private DataTable tabla;
private MySqlDataAdapter adaptador;
private MySqlConnection conn;
private MySqlCommand cmd;



public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
bdl = new DataSet("singularity");
tabla = new DataTable("eventrecord");
conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
cmd = new MySqlCommand("Sentencia SQL", conn);
adaptador = new MySqlDataAdapter(cmd);
}


private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
ClsUtil.SoloNumeros(textBox, e);
}



int Codigo;

private void button1_Click(object sender, EventArgs e)
{
Codigo = int.Parse(textBox.Text.Trim());

conn.Open();//Abre la conexion
if (bdl.Tables.Count == 0)
{

cmd.CommandText = "SELECT readerId FROM eventrecord WHERE tagId='Codigo'";
adaptador.Fill(tabla);
bdl.Tables.Add(tabla);

}

else
{

bdl.AcceptChanges();
adaptador.Update(bdl, "eventrecord");

}

dataGridView1.DataSource = bdl.Tables["eventrecord"];
dataGridView1.Update();
conn.Close();//Cierra la conexion


}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

try
{
bdl = new DataSet("singularity");
tabla = new DataTable("eventrecord");
conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
cmd = new MySqlCommand("Sentencia SQL", conn);
adaptador = new MySqlDataAdapter(cmd);
}

catch (MySqlException ex)
{
MessageBox.Show(ex.Message, "Error al intentar conectarse", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}


}
}
  #4 (permalink)  
Antiguo 24/05/2009, 16:40
 
Fecha de Ingreso: julio-2008
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Como asignar textbox a variable para buscar en Mysql

Cambia esto:

if (e.KeyChar >= 48 && e.KeyChar <= 57)
e.Handled = false;
//Acepta Borrador y Enter
else if (e.KeyChar == 8 || e.KeyChar == 13)
e.Handled = false;
else
{
e.Handled = true;
}
}

por esto:

if ((e.KeyChar >= 48) && (e.KeyChar <= 57))
e.Handled = false;
//Acepta Borrador y Enter
else if ((e.KeyChar == 8) || (e.KeyChar == 13))
e.Handled = false;
else
{
e.Handled = true;
}
}
  #5 (permalink)  
Antiguo 24/05/2009, 19:06
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

Código C#:
Ver original
  1. //tu error esta en
  2. cmd.CommandText = "SELECT readerId FROM eventrecord WHERE tagId='Codigo'";
  3. //deberia ser
  4. cmd.CommandText = "SELECT readerId FROM eventrecord WHERE tagId='" + Codigo + "'";
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 25/05/2009, 15:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

El unico error que me da es te y no se porque......

Error 1 'Consulta3.Form1' no contiene una definición de 'textBox_TextChanged' ni se encontró ningún método de extensión 'textBox_TextChanged' que acepte un primer argumento de tipo 'Consulta3.Form1' (¿falta una directiva de uso o una referencia de ensamblado?) C:\Documents and Settings\Administrator\Mis documentos\Visual Studio 2008\Projects\Consulta3\Consulta3\Form1.Designer.c s 61 70 Consulta3
  #7 (permalink)  
Antiguo 25/05/2009, 16:33
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

el error te da porq seguramente has creado antes un evento llamado textBox_TextChanged en tu formulario pero no el diseñador de tu formulario donde se crean los controles y eventos de tu formulario para esto debes ir a Consulta3.Form1.designer.cs busca
this.textBox.TextChanged += new System.EventHandler(this.textBox_TextChanged); y eliminalo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #8 (permalink)  
Antiguo 26/05/2009, 03:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Pues esta aplicacion no es capaz de funcionar ...... Al compilar no da error ninguno pero despues se pulsa el boton y no muestra el nombre en el grid ,eso si, aparece el grid pero sin nada en la celda.
  #9 (permalink)  
Antiguo 26/05/2009, 07:54
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

Realmente que deseas mostrar en la grilla porq no entiendo a q error te refieres ahora
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #10 (permalink)  
Antiguo 26/05/2009, 08:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

En la grilla quiero que aparezca el valor de readerid al pulsar el boton.Pero no aparece nada en la celda de la grilla .Es decir , que compila sin problema ninguno pero no hace realmente lo que quiero que es lo de mostrar en la grilla el nombre del lector que a leido el codigo que introduzco en el textbox. Por eso no se dond puede estar el error......
  #11 (permalink)  
Antiguo 26/05/2009, 08:14
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

lo que quieres realmente segun he leido es insertar lo obtenido de la caja de texto en la grilla???
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #12 (permalink)  
Antiguo 26/05/2009, 08:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Lo que quiero es introducir un codigo en el textbox p.ej "00000000000" darle al boton para que inicie la busqueda de ese codigo en la BD y me devuelva en la grilla el nombre del lector al que esta asociado ese codigo en la BD p.ej "mecanizado"


codigo readerid
000000000 ------------------------> mecanizado

mecanizado es lo que quiero que aparezca en la grilla

He revisado las sentencias de MySql por si era eso pero ahi lo veo todo bien , incluso mire tambien si podia ser al de mayusculas y minusculas pero no....
  #13 (permalink)  
Antiguo 26/05/2009, 08:41
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

pero si te das cuenta en tu sentencia sql solo retornas un valor y no dos

cmd.CommandText = "SELECT readerId FROM eventrecord WHERE tagId='Codigo'";
adaptador.Fill(tabla);
bdl.Tables.Add(tabla);

deberia ser

Código C#:
Ver original
  1. cmd.CommandText = "SELECT readerId,nombre FROM eventrecord WHERE tagId='" + Codigo + "'";
  2. adaptador.Fill(tabla);
  3. bdl.Tables.Add(tabla);

el problema porq no busca es q estas mandando a buscar un tagid en forma de cadena 'Codigo' la cual no es entero y por esa razon no te devuelve nada
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #14 (permalink)  
Antiguo 26/05/2009, 08:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Entonces se podría solucionar el problema si Codigo en vez de ser de tipo int lo pongo de tipo ulong para asi abarcar mas numeros?
  #15 (permalink)  
Antiguo 26/05/2009, 08:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Ah, en la sentencia de MySql que me pusiste me da error en nombre pq me dice que no lo reconoce en el field list. Supongo nombre seria algo de ejemplo,no?
  #16 (permalink)  
Antiguo 26/05/2009, 09:02
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

si claro debe ser el nombre que corresponde a la columna
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #17 (permalink)  
Antiguo 26/05/2009, 09:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Cambie lo de int por ulong lo cambie pero nada , no funciona. Podria ser que "Codigo" tuviera que ser de otro tipo?¿
  #18 (permalink)  
Antiguo 26/05/2009, 09:31
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

mira en tu tabla de tu base de datos q tipo es la columna codigo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #19 (permalink)  
Antiguo 26/05/2009, 09:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Los de la columna tagId son de tipo varchar(255)
  #20 (permalink)  
Antiguo 26/05/2009, 09:51
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como asignar textbox a variable para buscar en Mysql

entonces la variable Codigo seria de tipo String

Codigo = int.Parse(textBox.Text.Trim());

seria en vez

String Codigo;

Codigo = textBox.Text.Trim();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #21 (permalink)  
Antiguo 26/05/2009, 10:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como asignar textbox a variable para buscar en Mysql

Perfecto, ahora si ya funciona,muchas gracias!!! Ahora pues seguire viendo cosas de C# y intentando hacer cosas para seguir aprendiendo pq creo que es muy util.
  #22 (permalink)  
Antiguo 02/04/2010, 15:04
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Como asignar textbox a variable para buscar en Mysql

Hola soy principiante en el C#, a mi me funcionó de inmediato el código expuesto, pero me di cuenta que el buscador solamente busca una sola vez, osea que cuando le doy al botón me encuentra lo que busco, correcto, pero cuando le paso otro valor al textbox y vuelvo a buscar no hace la búsqueda. Me puedes ayudar en eso compa.
Réspóndeme a este correo [email protected], que no siempre tengo una máquina con internet.

espero su cooperación.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.