RSS

カテゴリー : 2006年 6月

[ASP.NET] Validatorを使用せずにPostBackするには

たとえばButtonとValidatorを配置した場合、
Buttonを押すとValidatorが働き、チェックに引っかかった場合はPostBackしない。
(HTMLコントロールのSubmitは除く)

通常はこれでいいが、戻るボタンとかでもValidatorがチェックを開始するのはよろしくない。
この場合はコントロールのCausesValidation プロパティをfalseにセットすればよい。

なお、HTMLコントロールのSubmitなどでもRunat="server"の時は同様の対処が必要。

[ASP.NET] メモリ内の情報を確認する

@PAGE ディレクティブにて
Trace=\"True\"
とすれば、セッション変数、ポストパラメータなどのメモリ情報を出力することが可能。

[SQLServer] バージョン情報

サーバーのバージョン情報を得る
システムストアドプロシージャ
sp_server_info @attribute_id = 2

[ASP.NET] ポストバック元のコントロール

  • AutoPostBack=true で設定したコントロールの場合

から取得する。

  • Button(Webコントロール)の場合

コントロールの nameをキーに valueがPOSTされてくる。
複数の Buttonがある場合、押された物しかPOSTされてこないのでそこを利用する。

Buttonのクリックイベントに__doPostBackを呼び出す javascript function を追加するというかなり強引な手もあるが、
ページ上にButtonしかない(というか PostBackするコントロールが Buttonしかない)場合、__doPostBackは存在しないことがあり、その場合はエラーになるなど、安定しないのでお勧めはしない。

[SQLServer] cmd shellコマンドを実行するストアド

master.dbo.xp_cmdshell N'commands for shell'
を使うとコマンドが実行できる。

たとえば

としておいて、
コマンドプロンプト上で

とかやってみると、dirコマンドが実行される。
使いどころはよく考えて使う方が良い。

[SQLServer] ストアドの中身を見る

[sql]
sp_helptext @objname = ‘ストアドの名前’
[/sql]

[cygwin] cygwin setting

profile(bash)

[bash]
export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis

alias ls=\’ls –show-control-chars –color -F\’
[/bash]

~/.inputrc

[bash]
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
[/bash]

(~はユーザーカレントディレクトリDocuments and settingsUserName 直下 => xpの場合。
%USERPROFILE% かな。)

ビープをならさない

~/.inputrc に
[bash]
set bell-style none
[/bash]

[SQLServer] SQLServerのオブジェクト一覧いろいろ

以下は SQLServer 2000での情報です。

DBの一覧

[sql]
sp_helpdb

— または、以下でも一応出る
use master
select * from sysdatabases
[/sql]

システムストアドの方が情報がいろいろ結合されて出てくるので見やすい( idがログオンネームに置き換わっていたり)

テーブルの一覧

[sql]
— テーブル
sp_tables

— テーブル以外も出る
select * from sysobjects

— ユーザーテーブルだけ
select * from sysobjects where xtype=\’U\’
[/sql]

列の一覧、キーの一覧

sp_columns
sp_pkeys (主キーのみ?)

列に関しては

[sql]
select sysobjects.name,syscolumns.name,* from sysobjects,syscolumns
where sysobjects.xtype=\’U\’ and sysobjects.id = syscolumns.id
— 必要なら and sysobjects.name = \’tableName\’
order by sysobjets.name, colorder
[/sql]

でも可能

プロシージャの一覧

[sql]
select * from sysobjects where xtype = \’P\’
[/sql]

see also:
プロセス情報の取得

[SQLServer] プロセス情報を取得する

SQLServer 2000

プロセス情報を得るシステムプロシージャ
sp_who

[SQLServer]「sp_executesql」の実行結果を得る

クエリーを実行するストアドプロシージャ 「sp_executesql」の実行結果を得る方法です。

[sql]
— 変数宣言
DECLARE @C int
DECLARE @S int

— 実行
EXEC sp_executesql
N\’SELECT @C = COUNT(qty), @S = SUM(qty) FROM sales\’,
N\’@C int OUTPUT, @S int OUTPUT\’,
@C output, @S output

— 結果出力
SELECT @C [C], @S [S]
[/sql]

使い方

  • 第 1 引数のクエリーでは、変数をそのまま利用できます。
  • 第 2 引数の変数宣言では、変数のデータ型の後に、「OUTPUT」 を指定します。
  • 第 3 引数以降の引き渡す変数の宣言では、変数名の後に「OUTPUT」を指定します。
    Books Online の sp_executesql の部分には、OUTPUT 指定について記載がありませんが、このように使うことができます。

[ASP.NET] パートナー トランザクション マネージャにより…

パートナー トランザクション マネージャにより、リモート トランザクションまたはネットワーク トランザクションのサポートが無効にされました。

コンポーネントサービス、
>マイコンピュータ(右クリック)
>プロパティ
「MSDTC」タブ
[セキュリティの構成]ボタン
(シードでの最小構成)
●ネットワークDTCアクセス
●リモートクライアントを許可する
●受信を許可する
●送信を許可する
●認証を必要としない

を、サーバー側、クライアント側双方で設定する。
(サーバー側だけかも)

TIP、XAは有効にしても問題なし。
リモート管理は、用途に応じて。

本当の2003環境であれば認証つけないとまずいと思うが、
ドメインつくってないとだめかも。

[ASP.NET] セッション情報を外部プロセスで管理するには?

http://www.atmarkit.co.jp/fdotnet/dotnettips/183aspsesout/aspsesout.html

state serviceの使い方。
SQLServerモードの解説はない。

[.NET] メモリマネジメント

Microsoft .NET のすべて
ガベージコレクション入門: Microsoft .NET Framework の自動メモリ管理 Part I
[URL] http://msdn.microsoft.com/ja-jp/library/bb985010.aspx

旧 URL:
http://www.microsoft.com/japan/msdn/net/mag00/GCI.asp


2013/05/31 追記
URLを修正

[ASP.NET] エラー「DropDownList には複数の項目を選択できません」とは

ListBoxには複数選択モードは存在するが、
DropDownListには存在しない。

たとえばユーザーがDropDownListのアイテムを選択した状態でポストバックが走り、
サーバー処理で違うアイテムを選択状態にしようとすると、
このエラーが発生する。

[csharp]
// wrong case 1
ListItem l = DropDownList1.items.FindByText("item_user_doesn\’t_selected");
l.Selected = true;
[/csharp]
[csharp]
// wrong case 2
items["one more error"].Selected = true
[/csharp]
たとえば上記のような操作の前で、

すべてのSelectedをfalseにするか、
SelectedIndex = -1 とするかで解決する

[csharp]
SelectedIndex = -1;
ListItem l = DropDownList1.items.FindByText("item_user_doesn\’t_selected");
l.Selected = true;
[/csharp]
[csharp]
SelectedIndex = -1;
items["one more error"].Selected = true
[/csharp]


2013/05/31 追記

上記は .NET 1.14のころに書いたもの。
vs2012 では エラーは「DropDownList で複数項目が選択されるように指定できません。」だった。