Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Parametros en Mysql (https://www.clubdelphi.com/foros/showthread.php?t=68450)

BuenaOnda 14-06-2010 23:52:46

Parametros en Mysql
 
Amigos:

Alguien me podria orientar con un pequeño problema que tengo, necesito pasar parametros en una sentencia sql de Actualización:

Código SQL [-]

UPDATE Tabla
     SET Campo=:Parametro
  WHERE Id=1

El problema es que no se como "pasar" el parámetro, he intentado con @ pero no registra nada en la base de datos.

Desde ya muy agradecido por su ayuda.

betto 15-06-2010 16:19:01

Hola, si es una sentencia en SQL desde Delphi podrias realizar esto:

Function ActualizaCorte(folio : int): boolean;
begin
sql:='Update T_CORTE Set ESTADO=''P'''+
' Where Folio='+ intToStr(Folio);
Query.Close;
Query.SQL.Clear;
Query.SQL.Add(cadena);
Query.ExecSQL;
if Query.RowsAffected = 1 then
result:= True
else
result:= False
end;


Espero te sirva, saludos

roman 15-06-2010 18:26:57

Cita:

Empezado por BuenaOnda (Mensaje 367253)
El problema es que no se como "pasar" el parámetro

Igual que con otras bases:

Código Delphi [-]
Query.ParamByName('Parametro').AsInteger := 84;

Según el tipo de datos del campo, usarás AsInteger, AsFloat, AsString, etc. Pero también depende de qué componentes estés usando. Con ADO es, creo, un poco distinto.

// Saludos

AzidRain 15-06-2010 21:11:27

Como dice roman es lo mas sencillo y te evitas el tener que estar formateando sobre todo las fechas ya que mysql las guarda en formato iso (AAAAMMDDHHMMSS) para que al momento de hacer las ordenaciones por fecha siempre salgan como debe ser, en cambio en delphi (segun el formato de fecha de windows) normalmente es diferente.

BuenaOnda 17-06-2010 20:24:04

Muchas gracias amigos, el problema es solo como indicarle el parametro en la sentencia sql, por que le antepongo el prefijo "@" o el prefijo ":" y me entrega error al ejecutar la consulta con un ParamByName. Con sql server le antepongo el prefijo "@" y funciona de maravillas.

Seguire investigando y les respondere cuando lo solucione, y muchas gracias por su valiosa ayuda..;)


La franja horaria es GMT +2. Ahora son las 20:56:54.

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