Seleccionar Campo a Consultar
Hola que tal,
Tengo una curiosidad, estoy haciendo un programa que se conecta a una base de datos (SQL SERVER 2000), Selecciona el campo mediante un combobox (combobox1.text) y el registro lo selecciona mediante un edit (edit2.text). Y la hora de consultar mediante un Tquery no sé como seleccionar el campo. Aqui les dejo mi código para que me entiendan mejor: consulta := 'SELECT * FROM Tconductor WHERE' + AQUI VA EL CAMPO + '=' + QuotedStr(edit2.Text); Ya que si lo hago por medio de QuotedStr : consulta := 'SELECT * FROM Tconductor WHERE' + quotedstr (combobox1.text) + '=' + QuotedStr(edit2.Text); me le agrega comillas simples (') al comienzo y al final de la expresión, esto resultaría del siguiente modo: select * from Tconductor where 'campo' = 'registro a buscar' y como todos saben debe de ir el campo sin esas comillas para que el Query sea posible. Eso es exactamente lo que quiero, que mediante un pequeño arreglito a mi codigo de arriba :o pueda seleccionar el campo, sin esas comillas, para que la busqueda sea posible. Perdon si fui un poco redundante, solo quería que entendieran mi problema :rolleyes: Y si lo dejo sin el quotedstr me sale: que es un caracter desconocido cerca de '='. GRACIAS ANTICIPADAS !!!!!!!:D "Por más dura que sea la piedra, la insistencia de la gotera termina haciendo en ella un hueco, el cual nunca volverá a ser rellenado" |
Cita:
La propiedad Text del combobox ya es de tipo string, por lo tanto no debes hacerle nada. |
Todavia...
Eso lo sé, pero cuando lo hago de ese modo me sale el error SQL siguiente:
Incorrect Syntax near "=", lo cual significa que no me está leyendo el valor del combo box, sino que me lo está leyendo tal y como lo escribo COMBOBOX1.text Creo que al igual que QuotedStr debe de existir una función para este tipo de casos, el problema es que no sé cual será :( Si alguien sabe, o puede ayudarme a solucionar este pequeñito PROBLEMON por favor no dude en decirmelo :) Gracias Anticipas, "Una duda vale más que mil razones" |
Ejecuta paso a paso y coloca un MessageDlg que te muestre la consulta SQL antes de ejecutarla para comprobar que es correcta.
|
Hola, entre el Where y el campo que le mandas como parametro debería haber un espacio, has lo que te dice Neftali verifica si la consulta es correcta.
Saluditos |
Muchas gracias
Jajaja Este era uno de esos problemas TONTOS,
efectivamente el PROBLEMON era una sencillez 'SELECT * FROM Tconductor WHERE' + combobox1.text + '=' + QuotedStr(edit2.Text); como ven en el primera linea el WHERE no tenía el espacio y me los estaba consultando del siguiente modo: select * from Tconductor WHERECAMPO = "registro". Gracias Neftali y Caro :D, ya resolví mi inquietud |
La franja horaria es GMT +2. Ahora son las 08:00:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi