inserte la cadena del cuadro de texto en la declaración SQL en el script JSLHola, estoy haciendo mi primer intento con una aplicación jmp.
Me gustaría insertar una cadena de un cuadro de texto en una declaración SQL utilizada para una consulta JMP en una base de datos. Esta cadena es mi parámetro de búsqueda.
El script que hice no parece funcionar y la solución probablemente sea sencilla, pero me falta algo de comprensión de la sintaxis JSL básica y esperaba obtener ayuda para superar este, para mí, un punto crucial.
El script para llamar y obtener la cadena:
parameterScript = Función ({this}, {text},
// Esta función se llama cuando se confirma el valor del cuadro de edición de texto
aporte = esto << Obtener texto;
);
El script para consultar la base de datos:
importDataPress = Función ({esto},
// Esta función se llama cuando se presiona el botón
name = Nueva consulta SQL (
Conexión ("ODBC: DSN = BASE DE DATOS ; PWD = XXX; "),
QueryName ("mi_tabla"),
CustomSQL (
"SELECCIONAR DE BASE DE DATOS DONDE parámetro == \! "+ aporte + \! ";"
)
) << Ejecutar; << Obtener nombre del botón;
);
Gracias !
ScriptingRe: insertar cadena desde el cuadro de texto en la declaración SQL en el script JSLDebería comenzar construyendo bloques más pequeños y aprendiendo la sintaxis (cómo concatenar cadenas en JMP, cómo funcionan los espacios de nombres / funciones, etc.)
Algunas sugerencias de material:
Referencia de sintaxis JSL
Guía de secuencias de comandos JMP15
Índice de secuencias de comandos que se encuentra en el menú de ayuda de JMP
Ejemplo muy breve (verifique el registro cuando cambie el texto en la ventana):
Names Default To Here(1);
importDataPress=Function({this},
retVal = this << get text;
sqlString = "select * from * where " || retVal;
Show(sqlString);
);
win = New Window("Example", Text Edit Box("Example Text",
<< set function(
function({this},
importDataPress(this)
)
))
);
Re: insertar cadena desde el cuadro de texto en la declaración SQL en el script JSLIntente algo como esto.Tenga en cuenta el uso de evalinsert, panelbox, hlistbox, etc. Búsquelos en el índice de secuencias de comandos para obtener más información.
importDataPress = Function( {parameter_value},
sql_statement = evalinsert(
"SELECT * FROM DATABASE WHERE parameter = '^parameter_value^'");
show(sql_statement);
// This function is called when the button is pressed
name = New SQL Query(
Connection( "ODBC:DSN=DATABASE;PWD=XXX;" ),
QueryName( "my_table" ),
CustomSQL( sql_statement )
) << Run;
);
nw = new window("Example Input for SQL",
panelbox("Parameter Specification",
hlistbox(
text box("Enter value for parameter: "),
teb = text edit box("", << set width(200)),
),
),
panelbox("Actions",
hlistbox(
button box("Cancel", nw << close window),
button box("OK",
pvalue = teb << get text;
if (pvalue == "",
ew = new window("Error", << modal,
text box("Nothing specified")
);
,
// else import the data
importdatapress(pvalue);
nw << close window;
);
),
),
),
);