FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Variables en sentencias sql
Que tal como estan.
Estoy usando MySql 4.0 y MySql Front, alguien sabe como usar variables o parametros en las consultas de MySql, es decir hago una consulta por ejemplo. Select Nombre,Direccion From Datos where nombre='algo' Donde 'algo' es la variable o parametro. Les agradesco su atencion y ayuda. |
#3
|
||||
|
||||
ahhh osea que si manejo un edit por ejemplo para hacer una busqueda es asi??
Código:
Select Nombre,Direccion From Datos where nombre=:edit.text |
#4
|
||||
|
||||
No.
Ten presente que Delphi* y SQL son dos lenguajes completamentes separados. SQL no podrá entender qué le quieres decir con edit1.text ya SQL sólo entiende de nombres de tablas y campos. De hecho SQL ni siquiera entiende los dos puntos. Estos son simplemente para que la componente Query sepa que se trata de un parámetro pero tú tienes que proporcionarles es valor. Por ejemplo:
Si Edit1.Text contiene 'juan pérez', al servidor SQL lo que le llega es:
* Como esta pregunta está en el foro de MySql realmente no estoy cierto de que se refiera al uso de componentes con Delphi. // Saludos |
#5
|
||||
|
||||
SISISI pregunataba para delphi entonces no estsba perdido gracias sigan con lo suyo
|
#6
|
||||
|
||||
Y si yo uso un DataSet y lo que quiero es insertar en mi tabla productos, es algo parecido a esto??
Código:
procedure TForm2.Button3Click(Sender: TObject); var algo : string begin DataSet1.InsertSql.Add('insert into producto(cod_prod) values (:algo)'); DataSet1.ParamByName('algo').AsString := Edit1.Text; end; |
#7
|
||||
|
||||
Cita:
Por otro lado, observa que así como usé AsString en el ejemplo, podrías usar AsInteger, AsFloat, AsBoolean, AsDateTime, etc. Escoge el más adecuado al tipo de datos del campo en la tabla. // Saludos |
#8
|
||||
|
||||
Cita:
Lamento diferir con vos en este punto, pero esto no es cierto en todos los casos. Muchos de los motores SQL existentes hoy en día proveen, a través de sus distintos API's, soporte para el uso de parámetros. De hecho, en algunos (como oracle por ejemplo), es recomendable que se usen parámetros, pues se facilita la reutilización de planes de ejecución minimizando la carga por este proceso en el servidor. Cuando usas parámetros, y el servidor los soporta, delphi envía la sentencia convirtiendo los identificadores de parámetros si es necesario, de manera que sea correctamente interpretado. Podria enviarse entonces, por ejemplo:
y luego via API asigna el parámetro como 'juan perez'. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#9
|
||||
|
||||
Cita:
// Saludos |
|
|
|