Un valor variable del usuario - consulta SQLIntento obtener un valor de variable del usuario y usarlo como consulta SQL
¿Cómo puedo agregar a una consulta?
¡Gracias!

Re: Un valor de variable del usuario - consulta SQLHola a todos,
@gzmorgan0 ¡Muchas gracias por tu solución, funciona bien!
@uday_guntupalli @stan_koprowski @Jeff_Perkinson ,¡Gracias por todo tu apoyo!
Re: Un valor de variable del usuario - consulta SQL@Botzal , busque Open Database() en JMP Scripting Index >> Funciones. Esta función tiene 2 argumentos obligatorios y 2 de opción:
- la cadena de conexión
- la cadena de consulta
- para la tabla de salida, es probable que no desee esto
Ha estado usando una cadena para los dos primeros argumentos.Es difícil depurar y ver esto cuando no tenemos archivos de prueba para usar. Elimine las líneas de comentarios de dt_ScadaData para probar si se ejecuta. Elimine las líneas de comentarios de NW si desea que la interfaz de usuario se cierre automáticamente. Es posible que desees que permanezca abierto para poder abrir varias mesas. Si eso es lo que quieres, entonces Evaluación Insertar en(qstr ), reemplaza las variables de marcador de posición foo[1] y foo[2].Entonces, en caso de que tenga la intención de usar la interfaz de usuario más de una vez, creé una variable cq_str a la que se le asigna la cadena de variable. Entonces esto debería funcionar.Normalmente no uso Eval Insert Into() sino algo como cq_str = Eval Insert(q_str);
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
q_connect = "DRIVER=SQL Server;SERVER=MyServer;Trusted_Connection=Yes";
q_str = "DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria=
'<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data";
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
cq_str = q_str;
Show(cq_str);
Eval Insert Into(cq_str);
Show(cq_str);
//dt_ScadaData = Open Database(q_connect, cq_str); //this is the runit command
//NW << Close Window(); //this will close the UI don't use if you want to keep ist open
) //end ButtonBox
); //end VListBox
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: Un valor de variable del usuario - consulta SQL@uday_guntupalli ,
Lo que publiqué es un registro; ver más abajo

El registro -
foo = {"p123", "v123"};
//:*/
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str ="DRIVER=SQL Server;SERVER=My Server(I changed);Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data";
Show(q_str);
q_str = Eval Insert INTO(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);
/*:</SCADAPORTAL>¿Estás seguro de que yo ¿"definir cadenas con separadores fuera de las comillas"?Por favor, ¿puedes marcar los separadores y decirme a qué te refieres?
* El problema es que cuando ejecuto el script e inserto valores en Caja de paneles y luego presiono para Cuadro de botones("Aceptar"..), No recibí ningún dato.
Gracias.
Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Aún no has pegado el registro. Si presiona Ctrl + Shift + L en la ventana de inicio de JMP, se abrirá una ventana de registro. Alternativamente, en su editor de secuencias de comandos, haga clic derecho y seleccione "Mostrar registro incrustado" como se muestra aquí antes de ejecutar su secuencia de comandos:

Además, nuevamente estás definiendo cadenas con separadores fuera de las comillas. Consulte las correcciones anteriores que he ofrecido y pegue el registro. Si no pega el registro, no podré ofrecerle más orientación.
Re: Un valor de variable del usuario - consulta SQL@uday_guntupalli Gracias por tu solución.
Intenté aplicar tus consejos pero no funcionó. 
1. La consulta funciona: cuando insertar números en un script y no variables del usuario . Para ejemplos: en lugar de foo[1], inserto p123 y en lugar de oo[2], inserto v123.
dt_ScadaData = Open Database("DRIVER=SQL Server;SERVER=My Server ;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,1, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"p123\!"" value="\!"v123\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");</SCADAPORTAL>2. El registro -
foo = {"P123", "V123"};
//:*/
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str ="DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data";
Show(q_str);
q_str = Eval Insert INTO(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);
/*:</SCADAPORTAL>3. ¿Puedes ver el guión del capítulo 2 en el que aplico tus consejos, si te entendí correctamente?
Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Debes mirar los consejos que ya te dimos e intentar seguirlos. Por favor, ayúdenos a ayudarle. Cuando dices que no funciona, no sabemos o no podemos ver lo que está pasando. Nos ayudará a solucionar el problema si puede proporcionar detalles claros de lo que está diciendo y por qué cree que no funciona.
1. ¿Validó que la consulta funcione por sí sola?
2. Pegue el registro
3. No estás evaluando la cadena como he mostrado anteriormente. Por favor evalúe la cadena llamándola después de construirla.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
q_str; // evaluating the query you constructed
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: Un valor de variable del usuario - consulta SQLHola @uday_guntupalli ,
El guión que el @gzmorgan0 me envió, no funciona - ver JSL a continuación
Claro, reemplacé el servidor por mi servidor.
Por favor, cualquier ayuda para arreglar el script.
Gracias.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: Un valor de variable del usuario - consulta SQLHola @uday_guntupalli ,
El guión que el @gzmorgan0 me envió, no funciona - ver JSL a continuación
Claro, reemplacé el servidor por mi servidor.
Por favor, cualquier ayuda para arreglar el script.
Gracias.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>Re: Un valor de variable del usuario - consulta SQLHola @Botzal ,
¿Qué versión de SQL Server estás ejecutando?
Parece que es posible que tenga una copia de evaluación de SQL Server que haya caducado.
¿Puede verificar que su SQL Server no se esté ejecutando en modo de evaluación?
Gracias,
estan
Re: Un valor de variable del usuario - consulta SQLPor favor publique su registro. Este script no ejecuta una consulta, simplemente escribe el resultado del comando de consulta en el registro.
¿Qué versión de JMP estás usando?JMP tiene un generador de consultas.Puede crear esa consulta para solicitar los dos campos que necesita. Luego puede guardar el script o la consulta.Hay múltiples puntos de falla para una consulta,
- Sintaxis de consulta incorrecta; tenga en cuenta que las mayúsculas y minúsculas pueden ser importantes.Entonces, si un usuario escribe harry, pero el campo db es HARRY, el resultado estará vacío.Además, SQL requiere comillas alrededor de un valor con espacios o caracteres especiales. Entonces primero , haga que un script funcione sin el mensaje, es decir, codifique los valores del mensaje y ejecute la parte del código dtScadaData = Open Database(etc.)
- Una vez que el script codificado funcione, intente escribir exactamente lo que estaba codificado anteriormente.También imprima la cadena y compare.mple,
- El inicio de sesión de consulta puede ser un punto de falla
- Es posible que su cadena de conexión al controlador de base de datos no sea la misma que la de otros usuarios.Por ejemplo, configuré el controlador para Excel para que se llame Archivos de Excel; otra persona podría tener un nombre diferente.
- Otros privilegios de usuario pueden ser diferentes a los suyos, es posible que no tengan acceso a los archivos/tablas.
- Estoy seguro de que hay más,
veo que @uday_guntupalli Acabo de responder. Así que me detendré ahora.
Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Cuando dices que no funcionó, ¿puedes explicar lo que estás viendo?@gzmorgan0 fue correcto al detectar mi error, donde debería haber usado Eval Insert Into en lugar de Eval Insert:

Además, ¿está reemplazando el nombre del servidor en la cadena que se muestra arriba?
Además, solo está construyendo la cadena hasta el momento; en realidad necesita ejecutar la cadena después de construirla para ver los resultados como se muestra en el siguiente ejemplo del Índice de secuencias de comandos:
ex = "Today is ^As Date( Today())^";
Eval Insert Into( ex );
ex;
Re: Un valor de variable del usuario - consulta SQLTodavía no funciona 
Re: Un valor de variable del usuario - consulta SQLCreo que necesitas cambiar el código. q_str = Evaluación Insertar(q_str) o Evaluación Insertar en(q_str) . Eval Insert Into() cambia el valor de su argumento y debe ser un valor almacenado como q_str; Eval Insert() simplemente devuelve una cadena, no cambia su argumento.
Show(q_str);
q_str = Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);Re: Un valor de variable del usuario - consulta SQL@uday_guntupalli
Hola,
Gracias por tu solución y el explicación.
Intento ejecutar el script e insertar los datos en el panel del cuadro. Cuando intento presionar el botón OK no sucede nada.
Por favor, vea el registro a continuación
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Creo que la razón por la que se encontró con el error fue por la forma en que su cadena tenía comas y otros separadores. Reescribí su guión y lo proporciono a continuación:
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=MyServer;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>Además, un par de sugerencias:
1. Cuando construyas cajas de exhibición, sepáralas y constrúyelas de forma independiente.
2. Cuando utilice declaraciones como Eval, siempre defina su cadena o declaración por separado, esto le ayudará a aislar el error y ver qué línea de código está introduciendo el error.
Espero que esto ayude.
Re: Un valor de variable del usuario - consulta SQL@gzmorgan0
@uday_guntupalli
@Jeff_Perkinson
Este es el registro -
foo = {"DS", "FD"};
Name Unresolved: erver in access or evaluation of 'erver' , erver
//:*/
Names default to here(1);
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DRIVER=SQL Server;SERVER=-----;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");
show(q_str);
wait(0);
uservalue << close window();
)
);
/*:
DisplayBox[]</SCADAPORTAL>
Re: Un valor de variable del usuario - consulta SQL@gzmorgan0
@uday_guntupalli
@Jeff_Perkinson
Hola a todos,
¡Gracias por tu solución!
El script todavía no funciona 
Cuando intento insertar los parámetros, me muestra el siguiente mensaje: "Nombre sin resolver:erver en acceso o evaluación de 'erver',erver"
Aunque ejecuto el script con el siguiente comando: Los nombres predeterminados son aquí (1);
Names default to here(1);
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DRIVER=SQL Server;SERVER= ----;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");
show(q_str);
wait(0);
uservalue << close window();
)
);</SCADAPORTAL>
Re: Un valor de variable del usuario - consulta SQLEl siguiente script tiene 2 partes: un diálogo modal y un diálogo no modal.
Names default to here(1);
//Modal method
foo = New Window("Insert Data", <<MODAL></MODAL>
'
etc. ");
Show(q_str);
//uncomment the line below after you have tested the string is correct
//dt_ScadaData = Open Database("DRIVER=SQL Server; SERVER=....", q_str);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Non-Modal Method
//--- Show commands are written to teh LOG not the embedded log
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DECLARE
@StartDateTime datetime = DATEADD( etc.
'
etc. ");
show(q_str);
wait(0);
uservalue << close window();
)//end ButtonBox
); //end New Window
Aquí están los resultados escritos en el registro: ingresé gato y pollito, luego toro y vaca.

Re: Un valor de variable del usuario - consulta SQL@Botzal , la ventana de valor de usuario no es modal. Entonces, el JSL debajo de la Nueva ventana intenta ejecutarse antes de que el usuario tenga la oportunidad de seleccionar el botón.
¿Sabe cómo hacer que un cuadro de diálogo sea modal o cómo ejecutar la consulta como parte del botón Aceptar?
Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Publique lo que ha intentado usando el bloque "JSL" que se muestra aquí y una instantánea del registro si es posible, de esa manera los usuarios de la comunidad pueden intentar comprender qué no funciona para usted.
Re: Un valor de variable del usuario - consulta SQL@Jeff_Perkinson
@Jeff_Perkinson escribió:
@uday_guntupalli la sugerencia de Sustituto() es una buena.
Otra función con la que quizás quieras familiarizarte es Insertar evaluación() . Puede insertar valores de variables en cadenas de texto .
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);Aquí está el registro de ese código:
/*:
//:*/
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
/*:
"The correct answer is: a"
Gracias por tu solución.
Lo siento, lo estoy intentando pero no funciona.
Por favor, ¿puedes explicarme?
Re: Un valor de variable del usuario - consulta SQL@uday_guntupalli la sugerencia de Sustituto() es una buena.
Otra función con la que quizás quieras familiarizarte es Insertar evaluación() . Puede insertar valores de variables en cadenas de texto .
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
Aquí está el registro de ese código:
/*:
//:*/
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
/*:
"The correct answer is: a"Re: Un valor de variable del usuario - consulta SQL@Botzal ,
Una forma de lograr lo que desea sería mediante el uso de Substitiute(). Por ejemplo
WhereStatement = " WHERE [ReadTime] >= DateTimeStart and [ReadTime] <= DateTimeEnd ";
WhereStatement = Substitute(WhereStatement, "DateTimeStart", "'" || MyStartTime ||"'", "DateTimeEnd", "'" || MyEndTime||"'");
En el ejemplo que se muestra arriba, DateTimeStart y DateTimeEnd en la consulta se reemplazan mediante MyStartTime y MyEndTime, que se basan en la entrada del usuario.
De manera similar, en su caso, primero puede inicializar SqlQuery como una cadena separada, usar Substitute() para reemplazar las cadenas que desee. Una vez que haga eso y tenga la consulta que desea, consulte desde la base de datos. Déjame saber si eso ayuda. Un pequeño consejo para el futuro es: publique JSL usando el bloque "JSL", para que las personas puedan usar fácilmente el script que publique para ofrecer ejemplos.