| |||
Duda en instruccion en MySql Hola!! ¿Existe alguna instruccion en MySql que me permita seleccionar series de numeros por sus cuatro primeros números (los subrayados)? P.ej : 000000000000 Seria seleccionarlos para sacarlos a un datagrid view |
| |||
Respuesta: Duda en instruccion en MySql Buenas creo que esto te ayudara: SUBSTRING( Nombre del campo ,Donde quieres que empiece (en tu caso 1, y cuntos caracteres quiere que coja (en tu caso 4)) La seelect quedaria asi: SELECT Substring(Numeros,1,4) FROM Numeros, el problema que tienes que verificar que ese campo no permita nulos, asi que añadiria a la consulta esto: SELECT IFNULL(Substring(Numeros,1,4),'') FROM Numeros Saludos |
| |||
Respuesta: Duda en instruccion en MySql cmd.CommandText = "SELECT IFNULL(Substring(tagId,1,4),'') FROM tagId" Eso es lo que he puesto pero no funciona. No debería poner el nombre de la tabla en algun sitio donde está el campo tagId? . |
| |||
Respuesta: Duda en instruccion en MySql "SELECT tagId IFNULL(Substring(eventrecord,1,4),'') FROM eventrecord" Esta sentencia la he probado pero no me funciona. Seria tagId el campo y eventrecord la tabla. |
| |||
Respuesta: Duda en instruccion en MySql Buenos dias, esto te tiene que funcionar perfectamente, yo estoy verificando y me realiza bien la consulta, tengo puesto lo siguiente: SELECT IFNULL(SubString(NombreTabla.CampoAMostrar,1,4),'' ) FROM NombreTabla Es lo mismo que ha puesto el compañero Gedarufi y te aseguro que lo hace bien, si te da error, compila el proyecto y debugealo, asi veras donde te da el error. Un saludo |
| |||
Respuesta: Duda en instruccion en MySql Muchas gracias ! Si, el error era mio pq ponia mal los datos de campo y tabla... Una cosa y si yo por ejemplo tengo en una variable un valor y lo quisiera comparar con los 4 primeros digitos de los valores de una tabla, la instruccion MySql sería algo parecido , no? Por ejemplo "SELECT IFNULL(Substring(eventrecord.tagId,1,4),'') FROM eventrecord WHERE (variable=' NO SE QUE PONER AQUI ')" |
| |||
Respuesta: Duda en instruccion en MySql Buenas de nuevo, este seria el codigo: Dim Variable as integer = 0 SELECT CASE WHEN IFNULL(Substring(eventrecord.tagId,1,4),'')=" & variable & " THEN IFNULL(Substring(eventrecord.tagId,1,4),'') ELSE '0000' END FROM eventrecord Si no te sirve dimelo y mira a ver que he puesto mal. |
| |||
Duda en instruccion en MySql Esta intruccion seria en visual basic ,no? Es que mi programa es en C#. Podria ser asi ? int Variable; SELECT CASE WHEN IFNULL(Substring(eventrecord.tagId,1,4),'')=" +variable + " THEN IFNULL(Substring(eventrecord.tagId,1,4),'') ELSE '0000' END FROM eventrecord; |
| |||
Respuesta: Duda en instruccion en MySql Hola Buceador23!! Muchas gracias por tu ayuda! Te explico tengo un textbox donde introduzco cuatro numeros que se pasan a una variable Codigo hasta ahi bien. Pero despues quiero que con una sentencia Mysql me represente el nombre de los lectores (Nombre del lector) , en un gridview , que estan asociados a las series de numeros (TagId) que empiezan por los 4 digitos que escribi en el textbox. TagId ----------------------->Nombre del lector TagId ----------------------->Nombre del lector TagId ----------------------->Nombre del lector El codigo de mi programa sería este: 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;//DataSet de datos private DataTable tabla;//Tabla que almacena datos private MySqlDataAdapter adaptador;//Objeto que sirve para comunicar al dataset con el DBMS private MySqlConnection conn;//Objeto que realiza la conexion con el DBMS private MySqlCommand cmd;//Objeto para la ejecucion de sentencias SQ 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);// con esto ya tendriamos la verificacion de solo numeros } string Codigo; private void button1_Click(object sender, EventArgs e) { Codigo = textBox.Text.Trim(); conn.Open();//Abre la conexion if (bdl.Tables.Count == 0) { cmd.CommandText = " SELECT IFNULL(Substring(eventrecord.tagId,1,4),'') 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); } } } } Logicamente habria que cambiar la sentencia de MySql pero es ahi donde tengo la duda. A ver si me puedes ayudar . |
| ||||
Respuesta: Duda en instruccion en MySql porque no pruebas con la sentencia like es mas facil de implementar y te busca de acuerdo a los caracteres que ingreses Ejm: Select * From tuTabla Where Code like '0000%' lo que realiza esta consulta es buscar todos los registrosque tengan los 4 primeros digitos 0000 en el codigo es decir si tengo 00001 00005 00004 00003 00014 me listaria solo los 4 primeros
__________________ La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones |
| |||
Respuesta: Duda en instruccion en MySql Hola Dradi7 !!! Esta instruccion seria posible mejorada pq creo que le falta algo,seria posible? " SELECT readerid FROM eventrecord WHERE tagid like '+ Codigo +' "; Porque lo que quiero seria introducir un numero en el textbox (Codigo) y despues que el programa busque todos los codigos que empiecen por las 4 primeras cifras que yo introduje en el textbox. |
| ||||
Respuesta: Duda en instruccion en MySql pero en vez seria esta sentencia
Código C#:
Ver original
__________________ La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones |
| ||||
Respuesta: Duda en instruccion en MySql en que lo estas probando en un textbox con un boton o solamente en el textbox quieres que al escribir haga el cambio???
__________________ La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones |
| ||||
Respuesta: Duda en instruccion en MySql en ese caso ya no puedes utilizar el AcceptChanges ni el Update deberias realizar otra ves la consulta o utilizar un DataView
__________________ La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones |