inserire una stringa dalla casella di testo nell'istruzione SQL nello script JSLCiao, sto facendo il mio primo tentativo con un'applicazione jmp.
Vorrei inserire una stringa da una casella di testo in un'istruzione SQL utilizzata per una query JMP in un database. Questa stringa è il mio parametro di ricerca.
Lo script che ho creato non sembra funzionare e la soluzione è probabilmente semplice, ma mi manca una comprensione di base della sintassi JSL e speravo di ottenere aiuto per superare questo, per me, punto cruciale.
Lo script per chiamare e ottenere la stringa:
parametroScript = Funzione ({questo}, {testo},
// Questa funzione viene chiamata quando viene eseguito il commit del valore della casella di modifica del testo
ingresso = this << Ottieni testo;
);
Lo script per interrogare il database:
importDataPress = Funzione ({this},
// Questa funzione viene chiamata quando si preme il pulsante
nome = Nuova query SQL (
Connessione ("ODBC: DSN = BANCA DATI ; PWD = XXX; "),
QueryName ("my_table"),
CustomSQL (
"SCELTO DA BANCA DATI WHERE parametro == \! "+ ingresso + \! ";"
)
) << Esegui; << Ottieni nome pulsante;
);
Grazie !
ScriptingRi: inserire una stringa dalla casella di testo nell'istruzione SQL nello script JSLDovresti iniziare costruendo blocchi più piccoli e imparando la sintassi (come concatenare le stringhe in JMP, come funzionano gli spazi dei nomi / le funzioni e così via)
Alcuni suggerimenti materiali:
Riferimento sintassi JSL
Guida allo scripting di JMP15
Indice di script trovato dal menu Guida di JMP
Esempio molto breve (controlla il registro quando cambi il testo nella finestra):
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)
)
))
);
Ri: inserire una stringa dalla casella di testo nell'istruzione SQL nello script JSLProva qualcosa di simile.Notare l'uso di evalinsert, panelbox, hlistbox, ecc. Cercali nell'indice di scripting per ulteriori informazioni.
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;
);
),
),
),
);Ri: inserire una stringa dalla casella di testo nell'istruzione SQL nello script JSLGrazie mille, questo ha funzionato:)