사용자의 변수 값 - SQL 쿼리사용자로부터 변수 값을 얻어 SQL 쿼리로 사용하려고 합니다.
쿼리에 어떻게 추가할 수 있나요?
감사해요!

Re: 사용자의 변수 값 - SQL 쿼리안녕하세요 여러분,
@gzmorgan0 , 솔루션을 제공해 주셔서 정말 감사합니다. 잘 작동합니다!
@uday_guntupalli @stan_koprowski @Jeff_Perkinson ,지원해 주신 모든 분들께 감사드립니다!
Re: 사용자의 변수 값 - SQL 쿼리@보찰 , JMP 스크립팅 색인 >> 함수에서 Open Database()를 검색하세요. 이 함수에는 2개의 필수 인수와 2개의 옵션 인수가 있습니다.
- 연결 문자열
- 쿼리 문자열
- <보이지 않음 | 출력 테이블의 private> 속성을 사용하고 싶지 않을 수도 있습니다.
- <출력 테이블 이름>
처음 두 인수에 대해 하나의 문자열을 사용했습니다.사용할 테스트 파일이 없으면 디버깅하고 이를 확인하기가 어렵습니다. 실행 여부를 테스트하려면 dt_ScadaData의 주석 줄을 제거하세요. UI가 자동으로 닫히도록 하려면 NW에 대한 주석 줄을 제거하십시오. 여러 테이블을 가져올 수 있도록 열린 상태로 유지하는 것이 좋습니다. 그게 당신이 원하는 거라면, 그럼요 평가 삽입 대상(qstr ), 자리 표시자 변수 foo[1] 및 foo[2]를 대체합니다.따라서 UI를 두 번 이상 사용하려는 경우를 대비하여 string 변수가 할당된 cq_str 변수를 만들었습니다. 그래서 이것이 작동할 것입니다.나는 일반적으로 Eval Insert Into()를 사용하지 않고 대신 cq_str = Eval Insert(q_str);
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
q_connect = "DRIVER=SQL Server;SERVER=MyServer;Trusted_Connection=Yes";
q_str = "DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria=
'<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data";
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
cq_str = q_str;
Show(cq_str);
Eval Insert Into(cq_str);
Show(cq_str);
//dt_ScadaData = Open Database(q_connect, cq_str); //this is the runit command
//NW << Close Window(); //this will close the UI don't use if you want to keep ist open
) //end ButtonBox
); //end VListBox
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: 사용자의 변수 값 - SQL 쿼리@uday_guntupalli ,
내가 게시한 것은 로그입니다. 아래를 참조하세요.

일지 -
foo = {"p123", "v123"};
//:*/
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str ="DRIVER=SQL Server;SERVER=My Server(I changed);Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data";
Show(q_str);
q_str = Eval Insert INTO(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);
/*:</SCADAPORTAL>내가 그럴 거라고 확신해요? "따옴표 외부에 구분 기호를 사용하여 문자열 정의" ?구분 기호를 표시하고 무슨 뜻인지 알려주실 수 있나요?
* 문제는 스크립트를 실행하고 값을 삽입할 때 패널박스 그리고 내가 누르는 것보다 버튼박스("좋아요"..), 데이터가 수신되지 않았습니다.
고마워.
Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
아직 로그를 붙여넣지 않았습니다. JMP 홈 창에서 Ctrl + Shift + L을 누르면 로그 창이 열립니다. 또는 스크립트 편집기에서 스크립트를 실행하기 전에 여기에 표시된 대로 마우스 오른쪽 버튼을 클릭하고 "포함된 로그 표시"를 선택합니다.

또한 따옴표 외부에 구분 기호를 사용하여 문자열을 다시 정의합니다. 제가 제공한 이전 수정 사항을 참조하여 로그를 붙여넣으세요. 로그를 붙여넣지 못하시면 더 이상의 안내를 드릴 수 없습니다.
Re: 사용자의 변수 값 - SQL 쿼리@uday_guntupalli 솔루션을 제공해 주셔서 감사합니다.
나는 당신의 조언을 적용하려고 노력했지만 효과가 없었습니다. 
1. 쿼리가 작동할 때 - 내가 할 때 스크립트에 숫자 삽입 그리고 사용자의 변수를 사용하지 마세요 . 예를 들어 foo[1] 대신 p123을 삽입하고 oo[2] 대신 v123을 삽입합니다.
dt_ScadaData = Open Database("DRIVER=SQL Server;SERVER=My Server ;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,1, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"p123\!"" value="\!"v123\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");</SCADAPORTAL>2. 일지 -
foo = {"P123", "V123"};
//:*/
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str ="DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -1, CAST(GETDATE() AS varchar(11))) -- 17 Days Back
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data";
Show(q_str);
q_str = Eval Insert INTO(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);
/*:</SCADAPORTAL>3. 내가 당신을 올바르게 이해했다면 당신의 조언을 적용하는 2장의 스크립트를 볼 수 있습니까?
Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
우리가 이미 제공한 조언을 살펴보고 이를 따르도록 노력해야 합니다. 우리가 당신을 도와주세요. 작동하지 않는다고 말하면 우리는 무슨 일이 일어나고 있는지 모르거나 볼 수 없습니다. 말하는 내용과 그것이 작동하지 않는다고 생각하는 이유를 명확하게 설명해주시면 문제 해결에 도움이 됩니다.
1. 쿼리가 자체적으로 작동하는지 확인했습니까?
2. 로그를 붙여넣어주세요
3. 이전에 설명한 것처럼 문자열을 평가하지 않습니다. 문자열이 생성된 후 호출하여 친절하게 문자열을 평가하십시오.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
q_str; // evaluating the query you constructed
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: 사용자의 변수 값 - SQL 쿼리안녕 @uday_guntupalli ,
스크립트는 @gzmorgan0 나에게 보냈는데 작동하지 않습니다. 아래 JSL을 참조하세요.
물론이죠. 서버를 내 서버로 교체했습니다.
스크립트를 수정하는 데 도움을 주세요.
고마워.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>
Re: 사용자의 변수 값 - SQL 쿼리안녕 @uday_guntupalli ,
스크립트는 @gzmorgan0 나에게 보냈는데 작동하지 않습니다. 아래 JSL을 참조하세요.
물론이죠. 서버를 내 서버로 교체했습니다.
스크립트를 수정하는 데 도움을 주세요.
고마워.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>Re: 사용자의 변수 값 - SQL 쿼리안녕 @보찰 ,
어떤 버전의 SQL Server를 실행하고 있나요?
만료된 SQL Server 평가판이 있는 것 같습니다.
SQL Server가 평가 모드에서 실행되고 있지 않은지 확인할 수 있습니까?
감사해요,
스탠
Re: 사용자의 변수 값 - SQL 쿼리로그를 게시해 주세요. 이 스크립트는 쿼리를 실행하는 것이 아니라 쿼리 명령의 결과를 로그에 기록하는 것뿐입니다.
어떤 버전의 JMP를 사용하고 있나요?JMP에는 쿼리 작성기가 있습니다.필요한 두 필드를 묻는 쿼리를 만들 수 있습니다. 그런 다음 스크립트나 쿼리를 저장할 수 있습니다.쿼리에는 여러 가지 실패 지점이 있습니다.
- 잘못된 쿼리 구문입니다. 대소문자가 중요할 수 있습니다.따라서 사용자가 harry를 입력했지만 db 필드가 HARRY인 경우 결과는 비어 있습니다.또한 SQL에서는 공백이나 특수 문자가 포함된 값 주위에 따옴표가 필요합니다. 그래서 첫 번째 , 프롬프트 없이 작동하는 스크립트를 가져옵니다. 즉, 프롬프트 값을 하드코딩하고 코드 부분을 실행합니다 dtScadaData = Open Database(etc.)
- 하드코딩된 스크립트가 작동하면 위에 하드코딩된 내용을 정확히 입력하여 프롬프트를 입력해 보세요.또한 문자열을 인쇄하고 Compare.mple을 실행합니다.
- 쿼리 로그인이 실패 지점이 될 수 있음
- db 드라이버에 대한 연결 문자열은 다른 사용자와 동일하지 않을 수 있습니다.예를 들어, Excel용 드라이버 이름을 Excel Files로 설정했는데 다른 사람은 다른 이름을 가질 수도 있습니다.
- 다른 사용자 권한은 귀하의 권한과 다를 수 있으며 파일/테이블에 대한 액세스 권한이 없을 수도 있습니다.
- 나는 더 많은 것이 있다고 확신합니다.
내가 볼 @uday_guntupalli 방금 응답했습니다. 그러니 이제 그만하겠습니다.
Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
작동하지 않았다고 말하면 현재 보고 있는 내용을 설명해 주실 수 있나요?@gzmorgan0 Eval Insert 대신 Eval Insert Into를 사용해야 했던 내 잘못을 잡는 것이 옳았습니다.

또한 위에 표시된 문자열에서 서버 이름을 바꾸시겠습니까?
또한 지금까지는 문자열만 구성하고 있으므로, 스크립팅 인덱스의 아래 예에 표시된 대로 결과를 보려면 문자열을 구성한 후 실제로 문자열을 실행해야 합니다.
ex = "Today is ^As Date( Today())^";
Eval Insert Into( ex );
ex;
Re: 사용자의 변수 값 - SQL 쿼리여전히 작동하지 않습니다 
Re: 사용자의 변수 값 - SQL 쿼리코드를 바꿔야 할 것 같아요 q_str = 평가 삽입(q_str) 또는 평가 삽입 대상(q_str) . Eval Insert Into() 인수 값을 변경하고 q_str과 같은 저장된 값이어야 합니다. Eval Insert()는 문자열만 반환할 뿐 인수는 변경하지 않습니다.
Show(q_str);
q_str = Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);Re: 사용자의 변수 값 - SQL 쿼리@uday_guntupalli
안녕,
귀하의 솔루션과 설명.
스크립트를 실행하고 상자 패널에 데이터를 삽입하려고 합니다. 확인 버튼을 눌러도 아무 일도 일어나지 않습니다.
아래 로그를 참고해주세요
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=My Server;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
오류가 발생한 이유는 문자열에 쉼표와 기타 구분 기호가 있기 때문이라고 생각합니다. 귀하의 스크립트를 다시 작성하여 아래와 같이 제공합니다.
LB = Lineup Box(1);
LB << Append(
PB_Inputs = Panel Box("User Inputs",
a = Text Edit Box( "" ), //foo[1]
b = Text Edit Box( "" ), // foo[2]
);
);
MyUI = V List Box(LB,
BB_UserInputUnload = Button Box("Ok",
foo = Eval List( {a << get text, b << get text} );
Show( foo );
q_str = "DRIVER=SQL Server;SERVER=MyServer;Trusted_Connection=Yes,
DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime
Scada Data" ;
Show(q_str);
Eval Insert(q_str);
Show(q_str);
),
);
NW = New Window("User Input Collection Window",
VLB = V List Box();
);
VLB << Append(MyUI);</SCADAPORTAL>또한 몇 가지 제안 사항은 다음과 같습니다.
1. 디스플레이 박스를 구성할 때, 분리하여 독립적으로 구성하세요.
2. Eval과 같은 명령문을 사용할 때는 항상 문자열이나 명령문을 별도로 정의하십시오. 그러면 오류를 격리하고 어떤 코드 줄에서 오류가 발생하는지 확인하는 데 도움이 됩니다.
도움이 되었기를 바랍니다.
Re: 사용자의 변수 값 - SQL 쿼리@gzmorgan0
@uday_guntupalli
@Jeff_Perkinson
이것은 로그입니다 -
foo = {"DS", "FD"};
Name Unresolved: erver in access or evaluation of 'erver' , erver
//:*/
Names default to here(1);
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DRIVER=SQL Server;SERVER=-----;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");
show(q_str);
wait(0);
uservalue << close window();
)
);
/*:
DisplayBox[]</SCADAPORTAL>
Re: 사용자의 변수 값 - SQL 쿼리@gzmorgan0
@uday_guntupalli
@Jeff_Perkinson
안녕하세요 여러분,
솔루션을 제공해 주셔서 감사합니다!
스크립트가 여전히 작동하지 않습니다 
매개변수를 삽입하려고 하면 다음 메시지가 표시됩니다. "이름이 확인되지 않음: 'erver'에 대한 액세스 또는 평가 중 erver, erver"
다음 명령을 사용하여 스크립트를 실행하지만 - 이름의 기본값은 여기(1)입니다.
Names default to here(1);
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DRIVER=SQL Server;SERVER= ----;Trusted_Connection=Yes",
"DECLARE @StartDateTime datetime = DATEADD(day, -2, CAST(GETDATE() AS varchar(11)))
DECLARE @EndDateTime datetime = DATEADD(day,0, GETDATE())
EXEC ListData @Criteria='
<SCADAPORTAL>
<DATA name="\!"PointData\!"" format="\!"Wide\!"" interval="\!"60m\!"">
<WHERE>
<COLUMN name="\!"Point\!"" project="\!"^foo[1]^\!"" value="\!"^foo[2]^\!"/">
</COLUMN>
</WHERE>
</DATA>'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime","Scada Data");
show(q_str);
wait(0);
uservalue << close window();
)
);</SCADAPORTAL>
Re: 사용자의 변수 값 - SQL 쿼리아래 스크립트는 모달 대화 상자와 비모달 대화 상자라는 두 부분으로 구성됩니다.
Names default to here(1);
//Modal method
foo = New Window("Insert Data", <<MODAL></MODAL>
'
etc. ");
Show(q_str);
//uncomment the line below after you have tested the string is correct
//dt_ScadaData = Open Database("DRIVER=SQL Server; SERVER=....", q_str);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Non-Modal Method
//--- Show commands are written to teh LOG not the embedded log
uservalue = New Window("Insert Data",
a = Text Edit Box(""), //foo[1]
b = Text Edit Box(""), //foo[2]
Button Box("OK",
foo = Eval List({ a << get text, b << get text});
show(foo);
q_str = EvalInsert("DECLARE
@StartDateTime datetime = DATEADD( etc.
'
etc. ");
show(q_str);
wait(0);
uservalue << close window();
)//end ButtonBox
); //end New Window
로그에 기록된 결과는 다음과 같습니다. 고양이와 병아리를 입력한 다음 황소와 소를 입력했습니다.

Re: 사용자의 변수 값 - SQL 쿼리@보찰 , uservalue 창은 비모달입니다. 따라서 새 창 아래의 JSL은 사용자가 버튼을 선택할 기회를 얻기 전에 실행을 시도합니다.
대화 상자 모달을 만드는 방법이나 확인 버튼의 일부로 쿼리를 실행하는 방법을 알고 있습니까?
Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
여기에 표시된 "JSL" 블록을 사용하여 시도한 내용과 가능하다면 로그 스냅샷을 게시해 주세요. 그러면 커뮤니티의 사용자가 무엇이 효과가 없는지 이해할 수 있습니다.
Re: 사용자의 변수 값 - SQL 쿼리@Jeff_Perkinson
@Jeff_Perkinson 썼다:
@uday_guntupalli 의 제안 대리자() 좋은 것입니다.
숙지하고 싶은 또 다른 기능은 다음과 같습니다. 평가 삽입() . 그것은 할 수 있다 텍스트 문자열에 변수 값 삽입 .
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);해당 코드의 로그는 다음과 같습니다.
/*:
//:*/
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
/*:
"The correct answer is: a"
솔루션을 제공해 주셔서 감사합니다.
죄송합니다. 노력하고 있지만 작동하지 않습니다.
제발, 나한테 설명해 주실 수 있나요?
Re: 사용자의 변수 값 - SQL 쿼리@uday_guntupalli 의 제안 대리자() 좋은 것입니다.
숙지하고 싶은 또 다른 기능은 다음과 같습니다. 평가 삽입() . 그것은 할 수 있다 텍스트 문자열에 변수 값 삽입 .
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
해당 코드의 로그는 다음과 같습니다.
/*:
//:*/
myvar="a";
response=eval insert("The correct answer is: ^myvar^");
print(response);
/*:
"The correct answer is: a"Re: 사용자의 변수 값 - SQL 쿼리@보찰 ,
원하는 것을 달성하는 한 가지 방법은 Substitiute()를 사용하는 것입니다. 예를 들어
WhereStatement = " WHERE [ReadTime] >= DateTimeStart and [ReadTime] <= DateTimeEnd ";
WhereStatement = Substitute(WhereStatement, "DateTimeStart", "'" || MyStartTime ||"'", "DateTimeEnd", "'" || MyEndTime||"'");
위에 표시된 예에서 쿼리의 DateTimeStart 및 DateTimeEnd는 사용자 입력을 기반으로 하는 MyStartTime 및 MyEndTime을 사용하여 대체됩니다.
마찬가지로 귀하의 경우 SqlQuery를 별도의 문자열로 먼저 초기화하고 Substitute()를 사용하여 원하는 문자열을 바꿀 수 있습니다. 그렇게 하고 원하는 쿼리가 있으면 데이터베이스에서 쿼리하십시오. 도움이 된다면 알려주세요. 미래를 위한 작은 조언은 "JSL" 블록을 사용하여 JSL을 게시하여 사람들이 쉽게 게시한 스크립트를 사용하여 예제를 제공할 수 있도록 하라는 것입니다.