動的に数式を計算する方法を探しています。
SQLServerのエンジンを使うのが簡単そうです。
ADO.NETでSELCECT文を投げることにより、数式を計算することは可能です。
SELECT 1+2
質問は、変数を含んだ数式をSELECT文で計算することは出来るでしょうか?
int a = 1;//変数
int b = 2;//変数
string shiki = "a + b"; //変数を含んだ数式
で3を求めたいです。
Windows2000Server
MSDE2000A
VS.NET2003(Webアプリ/C#)
No.1ベストアンサー
- 回答日時:
>動的に数式を計算する方法を探しています。
でしたら、スクリプトエンジンを使うのが楽かと。
msscript.ocxを参照設定して使います。
VBScriptとかJScriptを文字列として渡すことで実行できます。
http://homepage1.nifty.com/MADIA/vb/vb_bbs2/2004 …
の真ん中くらいにVB.NETからJScriptを呼び出しています。
詳しくはocxのヘルプを。
で、こちらだと、
>質問は、変数を含んだ数式をSELECT文で計算することは出>来るでしょうか?
>
>int a = 1; //変数
>int b = 2; //変数
>string shiki = "a + b"; //変数を含んだ数式
>
>で3を求めたいです。
変数に入っている値をどうするかがポイントになります。
方法としては、
a,bのフィールドを持つテーブルを作成して値をinsertしておく必要があるんじゃないかと。
ADO.NETのパラメータとして渡すにしても、そのままの書式じゃだめなはずなんで。
#本物のテーブルじゃなくてもかまわないですけど。
回答ありがとうございます。
> msscript.ocx
凄い!初めて知りました。いろいろ遊べそうですね。
しかし、今回は .NETで完結したいので採用するのは見送ります。
> a,bのフィールドを持つテーブルを作成して値をinsertしておく必要があるんじゃないかと。
エラーになるけど、こんな感じのselect文で出来るかなと期待したのですが..
select 1 as a, 2 as b, a + b as result
プログラム側で変数を置換する方向で考えます。
とりあえず、
shiki.Replace("a", a.ToString()).Replace("b", b.ToString())
でいいけど、実戦では正規表現で置換する必要かも。
No.3
- 回答日時:
>select a + b from (select 1 as a, 2 as b)
>select a from (select 1 as a)
>
>はNGです。
うーん、残念。
あとはXMLなんかでテーブル作っちゃうかな。
自己解決しました。
http://www.microsoft.com/japan/msdn/library/defa …
の例Aをヒントに
declate @a int,@b int;set @a=1;set @b=2;select @a+@b
No.2
- 回答日時:
>select 1 as a, 2 as b, a + b as result
私はADO.NETがよくわからないのですが、SELECT文のfrom句って要らないんですか?もしくはつけてもいいんですか?
両方OKなんでしたら
select a + b from (select 1 as a, 2 as b)
なんてのはどうなんでしょう?
この回答への補足
クエリアナライザで確認してみました。
select 1+2
select 1 as a, 2 as b
はOKです。
select a + b from (select 1 as a, 2 as b)
select a from (select 1 as a)
はNGです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) Excel関数 セルが空白の場合は,現在の表示のままに、数値が入れば計算する数式を教えてください。 4 2023/08/25 17:40
- 化学 化学のエンタルピ変化を求め方について ある例題では各物質のモール数を換算して計算することもあり、ある 1 2022/06/20 23:22
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- 経済学 「政府支出乗算」の求め方を教えてください。 2 2022/11/20 19:52
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 隣のセルが空白以外の場...
-
ファイルメーカープロ8で生年月...
-
Accessクエリーにて開始日と終...
-
生年月日から年齢を取得する方法
-
【ACCESS】未定義関数が発生。...
-
コンピューターで2進法が採用...
-
エクセルで四捨五入ではなく、5...
-
生年月日から年齢を計算したい。
-
計算結果をCASE WHENで判断した...
-
「24日の0時」って・・・
-
VBAでエクセルシートを更新...
-
パソコンで購入したデーターが...
-
エクセルのチェックボックスを...
-
回覧板の日付について質問です...
-
エクセル マクロ 名前を付けて...
-
差し込み印刷に当日の日付が入...
-
エクセルで最高値、最低値の日...
-
excelで、セル内に文字が入力さ...
-
「時間」、「期日」、「日付」...
-
エクセルで日付け表示で、明治...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 隣のセルが空白以外の場...
-
コンピューターで2進法が採用...
-
アクセスである時点での年齢を...
-
【ACCESS】未定義関数が発生。...
-
アクセスについて
-
ACCESSでの時間外計算方法
-
計算結果をCASE WHENで判断した...
-
エクセルで四捨五入ではなく、5...
-
ファイルメーカーで学年を表示...
-
ACCESS で深夜計算
-
ファイルメーカープロ8で生年月...
-
エクセルでeのマイナス乗の計算...
-
Accessクエリーにて開始日と終...
-
ファイルメーカーで小数点以下...
-
アクセスのクエリで出生時~小...
-
ファイルメーカーで時間の表示...
-
ストアド cast演算子 char型→in...
-
選択クエリを開けない
-
生年月日から年齢を取得する方法
-
ACCESSで生年月日より年齢を出...
おすすめ情報