Fügen Sie eine Zeichenfolge aus einem Textfeld in eine SQL-Anweisung im JSL-Skript einHallo, ich mache meinen ersten Versuch mit einer JMP-Anwendung.
Ich möchte eine Zeichenfolge aus einem Textfeld in eine SQL-Anweisung einfügen, die für eine JMP-Abfrage an eine Datenbank verwendet wird. Diese Zeichenfolge ist mein Suchparameter.
Das von mir erstellte Skript scheint nicht zu funktionieren und die Lösung ist wahrscheinlich einfach – aber mir fehlen einige grundlegende Kenntnisse der JSL-Syntax und ich hatte gehofft, Hilfe zu bekommen, um diesen für mich entscheidenden Punkt zu überwinden.
Das Skript zum Aufrufen und Abrufen der Zeichenfolge:
parameterScript = Function( {this},
{text},
// This function is called when the Text Edit Box value is committed
input = this << Get Text
);
Das Skript zur Abfrage der Datenbank:
importDataPress = Function( {this},
// This function is called when the button is pressed
name = New SQL Query(
Connection( "ODBC:DSN=DATABASE;PWD=XXX;" ),
QueryName( "my_table" ),
CustomSQL( "SELECT * FROM DATABASE WHERE parameter == \!" + input + \!";" )
) << Run;
<<GET button="" name=""></GET>
Danke !
DatenzugriffBetreff: Zeichenfolge aus Textfeld in SQL-Anweisung im JSL-Skript einfügenVielen Dank, das hat geholfen
Betreff: Zeichenfolge aus Textfeld in SQL-Anweisung im JSL-Skript einfügenVersuchen Sie so etwas.Beachten Sie die Verwendung von evalinsert, panelbox, hlistbox usw. Weitere Informationen finden Sie im Skriptindex.
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;
);
),
),
),
);Betreff: Zeichenfolge aus Textfeld in SQL-Anweisung im JSL-Skript einfügenSie sollten damit beginnen, kleinere Blöcke zu erstellen und die Syntax zu erlernen (wie man Zeichenfolgen in JMP verkettet, wie Namespaces/Funktionen funktionieren usw.).
Einige Materialvorschläge:
JSL-Syntaxreferenz
JMP15-Skripthandbuch
Scripting-Index im JMP-Hilfemenü gefunden
Sehr kurzes Beispiel (Überprüfen Sie das Protokoll, wenn Sie Text im Fenster ändern):
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)
)
))
);