Cita:
|
1.- Como se le dice a una SP, qué indice (de todos los que tenga una BD) deseo utilizar para la consulta.
|
No entendi.
Cita:
|
2.- En el "for select ..... do" de una SP se supone que me recoje una serie de registros, pues bien, esos registros ¿como los muestro en un grid o en una stringlist o en dbgrid (esto creo que va a ser que no si no quiero usar MDOTable)? ya que no deseo utilizar el componente MDOTable (porque supongo que tendria el mismo problema de lentitud que con paradox).
|
El for select no solo es para recojer datos... tambien puede srivir para hacer cambios en la bd, por eso cuando un SP es para mostrar muchos registros dentro del for select se debe de poner suspend, algo asi:
Código SQL
[-]
for select c1, c2, c3 from tabla into :c1, :c2, :c3 do
begin
suspend;
end
el caso anterior es para cuando necesitas mostrar algo, recuerda que los parametros :c1, :c2, :c3 deben de ser parametros de salida, y el siguiente para hacer una modificacion... en este no debe de ir suspend y los parametros pueden ser variables internas o parametros de salida, pero solo tendran el valor del ultimo registro del for select;
Código SQL
[-]
for select c1, c2, c3 from tabla into :c1, :c2, :c3 do
begin
inserte into tabla2 (c1, c2, c3) values (:c1, :c2, :c3);
end
3.- Perdonad por mi ignorancia pero.... ¿se puede manejar el resultado de la consulta de una SP (con su for select...do) en un MDOTQuery?.
si se puede de la siguiente forma:
Código SQL
[-]
select from sp_For_Select(:Parametros,
eEntrada)
y el resultado seria un dataSet con los parametros de salida (en mi ejemplo anterior :c1, :c2, :c3)
Cita:
|
4.- Si la aplicacion que voy a hacer tiene que correr tanto en monopuesto o en red (al usuario se le da la opcion de elegir una de las dos, nunca las dos a la vez) ¿como tengo que crear la BD con el EMS o con el IBExpert, en local o en remote?.
|
yo lo que hago es crear un archivo de configuracion donde coloco el servidor (siempre uso un servidor) asi pues cuando quiero que se conecte localmente el servidor es localhost o 127.0.0.1 y ya.
Cita:
|
5.- Al hacer el traspaso de las tablas paradox a firebird con el InterbaseDataPump me dice que la BD está en "ForceWrite" y que el proceso tardará 3 veces más. Eso ¿qué es?, ¿Influirá esa caracteristica en la velocidad o lentitud de la aplicación?. ¿Cómo se puede cambiar esa caracteristica?.
|
no he consultado mucho sobre el ForceWrite, pero la demora es solo en el trspaso de informacion.
Cita:
|
6.- Vuelvo a insistir, perdonad por mi ignorancia, pero ahora mismo tengo un cacao de nuevos conceptos y adecuar mi forma de pensar (en programacion) a esos nuevos conceptos que a muchos no llego. He visto que en algunas SP hay al final unas lineas GRANT, ¿eso que es?, ¿Cual es su finalidad?. ¿No basta con llamarlas desde las MDOStoredProc sin esas lineas al final?.
|
la instrucción GRANT da permisos de diversos tipo a diferentes usuarios o roles de la base de datos sobre diferentes tablas, vistas, procedimientos almacenados.
Recuerda que si vas a ejecutar un sp que inserte, modifique o borre debes de usar los MDOStoredProc o MDOQuery.Execute y si quieres que te traigan resultados se debe de hacer por medio de un MDOQuery