FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Ya se la forma de encontrar los registros que es (Locate, Findkey o FindNearest), que quiero hacer con el registro, solo que el DBGrid apunte al registro que he seleccionado, solo eso, pero sino se puede hacer con SQL, pues entonces usare (Locate, Findkey o FindNearest), te voy a mostrar lo que estoy haciendo.
ejemplo: y el Memo1 Contiene 'Select * Form Ventas Where IdTicket=78;' Label3.Caption := 'Ejecutando SQL, Espere...'; Label3.Refresh; DataModule4.Query1.SQL.Clear; DataModule4.Query1.SQL.Text := Memo1.Text; DataModule4.Query1.DatabaseName := 'DBTabla1'; DataModule4.Query1.DataSource := DataModule4.DataSource1; DataModule4.Query1.Prepare; DataModule4.Query1.ExecSQL; Label3.Caption := ''; y no quiero utilizar (Locate, Findkey o FindNearest), porque no quiero, porque estoy empezando con SQL y estoy averiguando si con SQL se puede hacer todo o casi todo. |
#2
|
||||
|
||||
Primero: En consultas donde hagas un SELECT, debes abrir la consulta con Query1.Open; Cuando hagas un INSERT, UPDATE o DELETE, entonces si debes usar ExecSql.
Segundo: Si ese query1 tambien lo utilizas para un grid, automaticamente el grid mostrará los nuevos resultados de esa consulta, que para el caso concreto, solo mostrará el registro de ticket 78 Al abrir una consulta con .Open, por defecto se quedará en el primer registro; si quieres moverte de registro por código, no te queda más remedio que usar los métodos propios del Query: - First - Prior - Next - Last - Locate, findkey .... Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Tu problema es que muestras los registros en el DBGrid con un DataSet (que es la tabla) y haces una búsqueda sobre la tabla con otro DataSet (Query);
No puedes juntar ambos, puesto que son DataSets distintos, uno devuelve x registros (tabla) y otro te devuelve 1 (el query); Con SQL puedes obtener DataSets, pero no te puedes realizar recorridos sobre ellos (SQL no es para eso); Para eso debes usar métodos del TDataset, que son los que te han comentado (Firsm Next,... para secuencial y Locate/FindKey para búsquedas).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Gracias NefTali y Lepe, por Vuestras respuestas, me han ayudado bastante, bastante, bastante.
Gracias, gracias, gracias. Saludos. |
|
|
|