携帯用リンク
メニュージャンプ  携帯専用ページ
«Prev || 1 || Next»

2009-07-17

ストアドプロシージャの戻り値取得方法(.Net2.0 SqlDataSource)

Visual Studio 2005 で SqlDataSource を使ってストアドプロシージャを実行したときに戻り値がある場合の取得方法を調べたメモ。

InsertQueryにストアドプロシージャを設定して普通に Output用パラメータを画面上の項目とかにバインドしても全然反映しないのでいろいろと調べてみた結果、
Insertedイベントのパラメータで渡される SqlDataSourceStatusEventArgs e で取得できるらしいということが判った。

と言うことで、実験した。


- - - - - - - - -
実験用のストアドプロシージャ:PROC_TEST
Procedure text:
==================================================
DECLARE VARIABLE strInnerTXT VARCHAR(20);
BEGIN

RES_STR = CUST_NM || ':' || CUST_NM_KN;

END
==================================================
Parameters:
CUST_NM INPUT VARCHAR(40)
CUST_NM_KN INPUT VARCHAR(60)
RES_STR OUTPUT VARCHAR(20)
- - - - - - - - -


Inserted イベント用のメソッドで止まるようにブレイクポイント指定して、変数 e の内容を調べた結果

イミディエイトウィンドウにて
? e.Command.Parameters["@RES_STR"]
とかやると、結果は...
{@RES_STR}
[FirebirdSql.Data.FirebirdClient.FbParameter]: {@RES_STR}
base {System.MarshalByRefObject}: {@RES_STR}
DbType: String
Direction: Output
IsNullable: false
ParameterName: "@RES_STR"
Size: 0
SourceColumn: ""
SourceColumnNullMapping: false
SourceVersion: Current
Value: "a:b"

と言うことは、
? e.Command.Parameters["@RES_STR"].Value
"a:b" (これが実際に返される値で間違いなし)

つまり、Insertedイベントのメソッド内で
e.Command.Parameters[出力用パラメータ].Value
で、取得できる。
ということが確認できました。

ちなみに実際には行を挿入しつつ、その行のプライマリキーを返すストアドプロシージャとかのときに使います。

2008-03-22

xspは1.9に入れなおし

なんか、yum list xsp やったら
新しい1.9-xがリストアップされたからさっき入れた1.2は削除して新しい方の
xsp.noarch 1.9-2.1
を入れてみた。
同時に入ったのは以下のとおり、
mono-data i386 1.9-4.1 mono 1.9 M
mono-data-sqlite i386 1.9-4.1 mono 193 k
mono-nunit i386 1.9-4.1 mono 140 k
mono-web i386 1.9-4.1 mono 3.1 M
mono-winforms i386 1.9-4.1 mono 4.0 M

ついでに、 mono-data-firebird も入れといた。
で、xspを起動して動きを確認するにはどうすればよいのだろう...
調べた結果を以下にメモ。


xspの起動方法等

/usr/bin/xsp2 を実行する。

サンプルページ等は
/usr/lib/xsp/test
にある。

とにかく動かしてみるには、
xsp2 --root /usr/lib/xsp/test

これで、サンプルページ群をルートとして起動する。

クライアントのブラウザからは

サーバのホスト名を「nyahaha」とすると、
http://nyahaha:8080/
でサンプルページが表示された。

すごい、CentOS-5 で ASP.NET が動いてるよ!

xsp入れたら mono-core も入ったが

試してみたいのはASP.NETの実行環境。

Javaで言うところの Tomcat みたいなもんとして、
xspというのがあるらしい。
ということで、

yum install xsp

と、やってみたら。。。

なんか mono-core も一緒に入った。
ひょっとして、これでとりあえず動くのかな?

CentOS-5 に Mono いれたい

ASP.NETをちょっと弄ってみるとなかなか面白くてしかも楽チンだった。
ただし、何か作ったとしてもWindows+IISだと公開できる環境が限られる。(DOSABAとかあるけど)
Linuxとかで動かす方法はないのかと調べると Mono というものがあることが判った。

ところが、CentOS-5で使えるパッケージ(RHEL5 又は Fedora6)は無いかと探していたがなかなか見つからなかった。
Monoプロジェクトの
RedHat ダウンロードページ
対応するのがないので
Other Linux ダウンロードページ
にある mono-1.9_5-installer.bin をダウンロードして実行してみたが途中で
Post Installation Script Result
Missing libraries:
----------------
libgailutil.so.17 libglitz.so.1 libgnomeprint-2-2.so.0 libgnomeprintui-2-2.so.0
libpanel-applet-2.so.0
----------------
というようなワーニングが出てしまった。(一応インストール自体は最後まで行ったようだが...)
ちょっと調べてみると例えば、
libgailutil.so.17
は gail-1.8.X に含まれるようだが、CentOS-5では gail-1.9.X で libgailutil.so.18 が入っている。
さてどうしようかと思っていたら...
今、以下のリポジトリがあるのを発見。
http://download.opensuse.org/repositories/Mono/RHEL_5/
現時点では バージョン 1.9-4

さて、mono-1.9_5-installer.bin でインストールしたやつを削除したいけどどうするんだろう?
(追記:インストール先パスに「uninstall」があった orz )

ちなみに CentOSのリポジトリでは
http://mirror.centos.org/centos/5/extras/
に Mono 1.2.4(現時点で) がある。

2007-06-28

ASP.NET試してみよう DOSABAもあるし

最近一緒に仕事している友人が「最近、ウェブアプリに関してはドットネットしか使ってない」「楽だ」「もう、ほかのプラットホームではやりたくない」などと絶賛していた。
よくよく聞いてみると何がいいかというと
・開発ツールが非常によい(VisualStudioのこと)
・使えるコンポーネントが揃っている。

要は「最小限の労力でそれなりのサイトを作れる」のが非常によいそうだ。

そんなに力説されると使ってみたくなったので今やってる仕事が終わったらちょっと何か作ってみようとたくらんでいる。
たまたま今の仕事の関係で VS2005 を買ったからちょうどよかった。
が、ASP.NET で作ったとしてもそれを公開できるところが無いなーと思いがちですが...

実はあるんです。ASP.NET を使える格安のホスティングサービス。

ASP.NET2.0 が使えるレンタルサーバ DOSABA

以下、スペック

価格
 ・6ヶ月契約:6,300円(月1,050円)
 ・12ヶ月契約:10,080円(月840円)

使えるもの
 ・ASP.NET2.0、Perl、PHP、ASP、Python

メール
 要領100M以内なら無制限

独自ドメイン
 持込可能

データベース
 MS-SQL データベース2個標準

HDD要領
 1GB

すごいです。このスペックで月1000円以下って大丈夫ですか?
でも、運営会社はカゴヤですのでそれなりに安心はできそうです。
(会社ごと消えて無くなるとか、個人情報収集目的の怪しいサービスではないというレベルで。。。)

ということで、ASP.NETで遊びたいならば DOSABA でしょう!

あ、もちろん私は今から契約手続きします。
続きがあります
«Prev || 1 || Next»