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

¿Como se escribe bien esta sentencia MySql?

Estas en el tema de ¿Como se escribe bien esta sentencia MySql? en el foro de .NET en Foros del Web. No consigo escribir esta sentencia de Mysql. Kiero seleccionar los digitos del 4 al 8 de un codigo que esta en la tabla tagid y ...
  #1 (permalink)  
Antiguo 18/06/2009, 05:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
¿Como se escribe bien esta sentencia MySql?

No consigo escribir esta sentencia de Mysql. Kiero seleccionar los digitos del 4 al 8 de un codigo que esta en la tabla tagid y que a su vez tenga asigando en otra columna lo que escribo en la variable taller

SELECT substring(tagId,4,8) as Artículo like '" + Codigo + "%' FROM eventrecord WHERE taller like '" + taller + "%'
  #2 (permalink)  
Antiguo 18/06/2009, 05:03
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Se me olvidaba codigo tambien es una variable ,es decir los 4 digitos que kiero de la columna tagid deben ser iguales a lo que introduje en codigo
  #3 (permalink)  
Antiguo 18/06/2009, 08:09
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 se escribe bien esta sentencia MySql?

error no puedes usar la sentencia like en las columnas del select deben de ir en el where

SELECT substring(tagId,4,8) as Artículo FROM eventrecord WHERE taller like '" + taller + "%'
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 18/06/2009, 08:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Pero esta sentencia me representa los 8 primeros digitos de cada codigo y solo kiero que muestre solo los numeros entre el 4º y 8º dígito que sean iguales a lo que introduzco en el textbox1 codigo

Este es el codigo que tengo:

namespace Buscar_articulo_por_taller
{
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();
}

string RutaPrograma;
string Codigo;
string taller;

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 textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
ClsUtil.SoloNumeros(textBox1, e);
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
taller = textBox2.Text;
}

private void button1_Click(object sender, EventArgs e)
{
Codigo = textBox1.Text.Trim();
conn.Open();//Abre la conexion
if (bdl.Tables.Count == 0)
{

cmd.CommandText = " SELECT substring(tagId,4,8) as articulo FROM eventrecord WHERE readerid like '" + taller + "%' ";
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
this.dataGridView1.AllowUserToAddRows = false;
}

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);
}

}
  #5 (permalink)  
Antiguo 18/06/2009, 08:53
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 se escribe bien esta sentencia MySql?

SELECT substring(tagId,4,4) as Artículo FROM eventrecord WHERE taller like '" + taller + "%'
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 18/06/2009, 09:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Pero pq no me representa solo los que son iguales al numero que introduzco en el textbox1?
  #7 (permalink)  
Antiguo 18/06/2009, 09:09
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 se escribe bien esta sentencia MySql?

un ejemplo de lo que quieres
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #8 (permalink)  
Antiguo 18/06/2009, 09:23
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: ¿Como se escribe bien esta sentencia MySql?

me parece que he entendido lo que deseas kutulay, pero mas que problema de sentencia de sql me parece que lo mejor que puedes hacer es un barrido de todos los resultados que te traiga la variable adaptador, esto es haciendo una comparacion del textbox1 con cada resultado dela variable adaptador, pero tendrias que cambiar un poco el codigo que deseas.. no se si mas o menoste di la idea, de cualquier modo comenta que pasa.

saludos
  #9 (permalink)  
Antiguo 18/06/2009, 09:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

tagId taller

12320000 mecanizado

23440000 galvanizado

56710000 soldadura

97830000 mecanizado

En el grid quiero ver las 4 priemras cifras de todos los codigos que esten en mecanizado y cuyas ultimas 4 cifras sean 0000
  #10 (permalink)  
Antiguo 18/06/2009, 09:35
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 se escribe bien esta sentencia MySql?

select substring(readerid,1,4) from eventrecord where taller like '" + taller + "%' and
substring(readerid,4,4) = '0000'
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #11 (permalink)  
Antiguo 18/06/2009, 09:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Podria hacer esto?¿

" select substring(readerid,1,4) from eventrecord where readerid like '" + taller + "%' and substring(readerid,4,4) ='" + Codigo + "%' ";

Ademas no me muestra ningun numero en el grid.
  #12 (permalink)  
Antiguo 18/06/2009, 09:52
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 se escribe bien esta sentencia MySql?

puedes usarla de esa manera peor quita el ultimo porcentaje ya que porcentaje solo se usa con la sentencia like
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #13 (permalink)  
Antiguo 18/06/2009, 09:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Y el problema de que no mete ningun dato en el grid como lo soluciono?
  #14 (permalink)  
Antiguo 18/06/2009, 10:01
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 se escribe bien esta sentencia MySql?

perdon creo que la sentencia deberia ser asi

select substring(readerid,1,4) from eventrecord where readerid like '" + taller + "%' and substring(readerid,5,4) ='" + Codigo + "' ";
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #15 (permalink)  
Antiguo 18/06/2009, 10:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ¿Como se escribe bien esta sentencia MySql?

Muchas gracias Dradi7 !! Yo lo solucione no era substring(readerid...) era substring (tagId...) es donde estaban los codigos .
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 18:18.