JSL 스크립트의 SQL 문의 텍스트 상자에서 문자열 삽입안녕하세요, 저는 jmp 애플리케이션을 처음으로 찔러보고 있습니다.
데이터베이스에 대한 JMP 쿼리에 사용되는 SQL 문의 텍스트 상자에서 문자열을 삽입하고 싶습니다. 이 문자열은 내 검색 매개변수입니다.
내가 만든 스크립트가 작동하지 않는 것 같고 솔루션은 아마도 간단할 것입니다. 하지만 몇 가지 기본적인 JSL 구문 이해가 부족하고 나에게 중요한 요점을 극복하는 데 도움이 되기를 바랐습니다.
문자열을 호출하고 가져오기 위한 스크립트:
parameterScript = Function( {this},
{text},
// This function is called when the Text Edit Box value is committed
input = this << Get Text
);
데이터베이스 쿼리를 위한 스크립트:
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>
고맙습니다 !
스크립팅Re: JSL 스크립트의 SQL 문의 텍스트 상자에서 문자열 삽입정말 감사합니다, 이것은 트릭을했습니다
Re: 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;
);
),
),
),
);Re: 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)
)
))
);