Sybase SQL Anywhere - Junior Admin

 
Vista:

Junior Admin

Publicado por Ordnadito (1 intervención) el 30/06/2017 17:27:25
Hola
Estoy iniciando con SqlAnywhere 17 y no conozco todas sus posibilidades.
Tengo una función en la bases de datos que me da una variable Integer como resultado.

Quisiera hacer que desde Delphi 2010 pueda recibir un mensaje y el resultado de esta Función.
Alguien puede ayudarme en eso?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ejecutar función almacenada y obtener resultado en Delphi 2010

Publicado por Alejandro (46 intervenciones) el 20/02/2024 23:21:13
Ordnadito, para ejecutar una función almacenada en Sybase SQL Anywhere 17 desde Delphi 2010 y recibir el resultado, puedes seguir estos pasos:

1. Conexión a la base de datos:
Asegúrate de tener una conexión exitosa a tu base de datos Sybase SQL Anywhere desde tu aplicación Delphi. Utiliza componentes como `TSQLConnection` y establece los parámetros de conexión adecuados.

2. Preparación del query:
Utiliza un componente `TSQLQuery` para preparar y ejecutar la llamada a tu función almacenada. Define un parámetro de salida para capturar el resultado de la función.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.EjecutarFuncion;
var
  Query: TSQLQuery;
  ParametroSalida: TParam;
begin
  Query := TSQLQuery.Create(nil);
  try
    Query.SQLConnection := SQLConnection1; // Asigna tu conexión aquí
    Query.SQL.Text := 'SELECT MiFuncion() AS Resultado';
 
    ParametroSalida := Query.ParamByName('Resultado');
    ParametroSalida.DataType := ftInteger;
    ParametroSalida.ParamType := ptOutput;
 
    Query.Open;
 
    // Accede al resultado a través del parámetro de salida
    ShowMessage('Resultado: ' + IntToStr(ParametroSalida.AsInteger));
  finally
    Query.Free;
  end;
end;

Asegúrate de reemplazar `MiFuncion` con el nombre real de tu función.

3. Ejecución desde un evento:
Llama a la función `EjecutarFuncion` desde algún evento en tu aplicación Delphi, como un botón o un evento de carga de formulario.

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  EjecutarFuncion;
end;

Recuerda que debes tener cuidado con la seguridad y validar cualquier entrada del usuario antes de pasarla a la base de datos para evitar posibles vulnerabilidades de seguridad, como la inyección de SQL.

Ajusta el código según tus necesidades específicas y la estructura de tu base de datos y función almacenada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar