Archive for .NET

SQLServer2000 ストアドでOutputを取得する

これも覚書、前にもくらった記憶が(苦笑)

ストアドからOutputされた値をCommandItemで受け取ったら、Connect Close後にしか
中身が見えないことに注意!
 

' Assumes that connection is a valid SqlConnection object.
Dim command As SqlCommand = New SqlCommand("SampleProc", connection)
command.CommandType = CommandType.StoredProcedure

Dim parameter As SqlParameter = command.Parameters.Add( _
  "RETURN_VALUE", SqlDbType.Int)
parameter.Direction = ParameterDirection.ReturnValue

parameter = command.Parameters.Add( _
  "@InputParm", SqlDbType.NVarChar, 12)
parameter.Value = "Sample Value"

parameter = command.Parameters.Add( _
  "@OutputParm", SqlDbType.NVarChar, 28)
parameter.Direction = ParameterDirection.Output

connection.Open()

Dim reader As SqlDataReader = command.ExecuteReader()

Console.WriteLine( _
  "{0}, {1}", reader.GetName(0), reader.GetName(1))

Do While reader.Read()
  Console.WriteLine( _
    "{0}, {1}", reader.GetInt32(0), reader.GetString(1))
Loop

reader.Close()
connection.Close()

Console.WriteLine( _
  " @OutputParm: {0}", command.Parameters("@OutputParm").Value)
Console.WriteLine( _
  "RETURN_VALUE: {0}", command.Parameters("RETURN_VALUE").Value)

VB.NETのFormat関数とVB6のFormat関数の差

毎日寒いね~・・・一気に冬将軍到来か!って感じですが皆さんいかがお過ごしでしょうか?

前回は突然の浦和レッズ宣言でしたが、今回はまた仕事に戻って

題名のとおりDotNetになってFormat関数があることにはあるのだが、挙動が違うので、少々覚書

VB6のまま使用するのであればMicrosoft.Visualbasic.Format関数というものが存在するのでこちらを使用する。

ただし「Microsoft.Visualbasic」を使用する時点で「.NET Framework」構想からは外れた設計になることを覚悟の上ですが・・・

まぁそうは言ってもAPIの使用やComをCreateObjectするのではないので「.NET Framework」が入っている環境であれば動くから良いかな:roll:

違いといえば、いろいろ違いますが中でも良く使う日付系の指定文字だけど「yyyy/MM/dd HH:mm:ss」とmmの大文字小文字をちゃんと指定してあげないと月なのか分なのかみたいな狙ったとおりに動かなかったりといろいろあるんだよね。

細かいところは調べてみてね!

DataSetってどうなの?

なんかこのブログを見てくれている方が回りにいらっしゃるようでうれしい:roll:

突然ですが、言い訳言わせて!

・現在、IE7やFireFoxではCSS設定のサボりで描画が乱れます(苦笑)
・ページ最後のLatestPostとLatestCommentも同一の物が表示されているのもプラグイン導入のサボりです(汗)

そのうち直しますのでお許しを:cry:

さてさて本題♪

DataSetについてだけど、DotNetからクライアント側のViewとしてDatasetが使われるようになっていますが、
内部にはまさにDatabase丸ごと入るような設計になっているため、使いづらい場面が多々あったんだよね。
ようするにTableを複数保持したりDatasetからじゃないとシリアル化出来なかったりと「アクセスの入り口はDataset!」
と強制されていた。

しかし、ADO.NET2.0になってから(VS2005・・・VS2003もかな)はDataTableにも使いやすいメソッドが多数のって
DataReaderなどのと連携も簡単に取れるようになった、えらい!

DB情報の使いかただってTable単位のアクセスが多いし、複数のテーブルを一気に使用する頻度って少ないと思うんだよね。

そうするとDataTableだけを使用してI/Oした方がプログラマも分かりやすいしイメージしやすい!

つーことでDataTableに一票!:razz:(初めからこうしてよMSさん・・・・)