ユーザーからの変数値 - SQL クエリユーザーから変数値を取得し、それを SQL クエリとして使用しようとします
クエリに追加するにはどうすればよいですか?
ありがとう!

Re: ユーザーからの変数値 - SQL クエリこんにちは、みんな、
@gzmorgan0 、解決策をありがとうございます。うまくいきました。
@uday_guntupalli @stan_koprowski @ジェフ・パーキンソン,皆様のご支援、誠にありがとうございます!
Re: ユーザーからの変数値 - SQL クエリ@ボツァル、JMP Scripting Index >> Functions で Open Database() を検索してください。 この関数には 2 つの必須引数と 2 つのオプション引数があります。
- 接続文字列
- クエリ文字列
- <不可視 |出力テーブルの private> プロパティ。おそらくこれは望ましくないでしょう。
- <出力テーブル名>
最初の 2 つの引数に 1 つの文字列を使用しています。使用するテスト ファイルがない場合、デバッグしてこれを確認するのは困難です。 dt_ScadaData が実行されるかどうかをテストするには、dt_ScadaData のコメント行を削除します。 UI を自動的に閉じる場合は、NW のコメント行を削除します。 複数のテーブルをプルできるように、開いたままにしておくことが必要な場合があります。 それがあなたが望んでいることなら、 Eval Insert Into(qstr )、プレースホルダー変数 foo[1] と foo[2] を置き換えます。したがって、UI を複数回使用する場合に備えて、変数文字列が割り当てられる変数 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>本当にそうですか? 「引用符の外側に区切り文字を含む文字列を定義します」?区切り文字にマークを付けて、何を意味するのか教えていただけますか。
* 問題は、スクリプトを実行して値を挿入すると、パネルボックスそして私が押すよりもボタンボックス(「OK」..)、データを受信しませんでした。
THX。
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 を参照してください
もちろん、サーバーを自分のサーバーに置き換えました。
スクリプトを修正するために助けてください。
THX。
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 を参照してください
もちろん、サーバーを自分のサーバーに置き換えました。
スクリプトを修正するために助けてください。
THX。
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 にはクエリ ビルダーがあります。必要な 2 つのフィールドの入力を求めるクエリを作成できます。 その後、スクリプトまたはクエリを保存できます。クエリには複数の障害点があり、
- クエリ構文が正しくありません。大文字と小文字が重要になる可能性があることに注意してください。したがって、ユーザーが「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)またはEval Insert Into(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
こんにちは、
あなたの解決策と、説明。
スクリプトを実行してデータをボックス パネルに挿入してみます。 OKボタンを押しても何も起こりません。
以下のログを参照してください
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
@ジェフ・パーキンソン
これがログです -
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
@ジェフ・パーキンソン
こんにちは、みんな、
解決策をありがとうございます!
スクリプトはまだ機能しません:(
パラメータを挿入しようとすると、次のメッセージが表示されます。 「名前が解決されていません: erver が 'erver' にアクセス中または評価中です、erver」
次のコマンドでスクリプトを実行しますが、名前のデフォルトは here(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 クエリ以下のスクリプトには、モーダル ダイアログと非モーダル ダイアログの 2 つの部分があります。
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 は、ユーザーがボタンを選択する前に実行しようとします。
ダイアログをモーダルにする方法、または [OK] ボタンの一部としてクエリを実行する方法をご存知ですか?
Re: ユーザーからの変数値 - SQL クエリ@ボツァル、
ここに示されている「JSL」ブロックを使用して試したことと、可能であればログのスナップショットを投稿してください。そうすることで、コミュニティのユーザーが試して何がうまくいかないのかを理解できるようになります。
Re: ユーザーからの変数値 - SQL クエリ@ジェフ・パーキンソン
@ジェフ・パーキンソン書きました:
@uday_guntupalliさんの提案代わりの()良いものです。
理解しておきたいもう 1 つの機能は次のとおりです。評価挿入() 。 できるテキスト文字列に変数値を挿入する。
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さんの提案代わりの()良いものです。
理解しておきたいもう 1 つの機能は次のとおりです。評価挿入() 。 できるテキスト文字列に変数値を挿入する。
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 クエリ@ボツァル、
目的を達成する 1 つの方法は、Substitiute() を使用することです。 たとえば
WhereStatement = " WHERE [ReadTime] >= DateTimeStart and [ReadTime] <= DateTimeEnd ";
WhereStatement = Substitute(WhereStatement, "DateTimeStart", "'" || MyStartTime ||"'", "DateTimeEnd", "'" || MyEndTime||"'");
上に示した例では、クエリ内の DateTimeStart と DateTimeEnd は、ユーザー入力に基づく MyStartTime と MyEndTime を使用して置き換えられています。
同様に、あなたの場合、最初に SqlQuery を別の文字列として初期化し、Substitute() を使用して必要な文字列を置き換えることができます。 これを実行して必要なクエリを取得したら、データベースからクエリを実行します。 それが役立つかどうか教えてください。 今後の小さなアドバイスとしては、「JSL」ブロックを使用して JSL を投稿してください。そうすれば、投稿したスクリプトを簡単に使用して例を提供できるようになります。