JSLスクリプトのSQLステートメントのテキストボックスから文字列を挿入しますこんにちは、私はjmpアプリケーションで最初の刺し傷を負っています。
データベースへのJMPクエリに使用されるSQLステートメントのテキストボックスから文字列を挿入したいと思います。 この文字列は私の検索パラメータです。
私が作成したスクリプトは機能していないようで、解決策はおそらく簡単です-しかし、私はいくつかの基本的なJSL構文の理解が不足しており、これを乗り越える助けを得ることを望んでいました。
文字列を呼び出して取得するためのスクリプト:
parameterScript = Function({this}、{text}、
//この関数は、テキストエディットボックスの値がコミットされたときに呼び出されます
入力= this << Get Text;
);
データベースにクエリを実行するためのスクリプト:
importDataPress = Function({this}、
//この関数は、ボタンが押されたときに呼び出されます
名前=新しいSQLクエリ(
Connection( "ODBC:DSN =データベース; PWD = XXX; ")、
QueryName( "my_table")、
CustomSQL(
"SELECT * FROMデータベースWHEREパラメータ== \! "+入力+ \! ";"
)
)<<実行; <<ボタン名を取得;
);
ありがとうございました !
スクリプティング再:JSLスクリプトのSQLステートメントのテキストボックスから文字列を挿入しますこれは、小さなブロックを作成し、構文(JMPで文字列を連結する方法、名前空間/関数がどのように機能するかなど)を学習することから始める必要があります。
いくつかの重要な提案:
JSL構文リファレンス
JMP15スクリプティングガイド
JMPヘルプメニューから見つかったスクリッピングインデックス
非常に短い例(ウィンドウ内のテキストを変更するときにログを確認してください):
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)
)
))
);
再:JSLスクリプトのSQLステートメントのテキストボックスから文字列を挿入しますこのようなものを試してください。evalinsert、panelbox、hlistboxなどの使用に注意してください。詳細については、スクリプトインデックスでそれらを調べてください。
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;
);
),
),
),
);再:JSLスクリプトのSQLステートメントのテキストボックスから文字列を挿入しますどうもありがとう、これはトリックをしました:)