[SQL SERVER] 変数を使用したテーブルの利用方法

[SQL SERVER] 変数を使用したテーブルの利用方法

ちょっと便利なSQLを紹介します。
変数を使用したテーブルです。テーブル変数とでもいうのかな?
ちょっとしたテストで良く使っています。
覚えておくととっても便利です。

ブラウザで表示すると、シングルコーテションがおかしくなるかも。
コピペするときには修正してください。

--変数テーブルの作成&INSERT
declare @tbl1 table(a_cd char(9), b_kbn char(1), c_kbn int)
insert into @tbl1 (a_cd,b_kbn,c_kbn) values ('000000001','1',0)
insert into @tbl1 (a_cd,b_kbn,c_kbn) values ('000000010','2',1)
insert into @tbl1 (a_cd,b_kbn,c_kbn) values ('000000020','2',1)
insert into @tbl1 (a_cd,b_kbn,c_kbn) values ('000000030','2',1)

declare @tbl2 table(a_cd char(9), b_kbn char(1), c_kbn int)
insert into @tbl2 (a_cd,b_kbn,c_kbn) values ('000000001','1',0)
insert into @tbl2 (a_cd,b_kbn,c_kbn) values ('000000010','2',1)
insert into @tbl2 (a_cd,b_kbn,c_kbn) values ('000000020','2',1)
insert into @tbl2 (a_cd,b_kbn,c_kbn) values ('000000030','2',1)
--変数テーブルを使用する例(SELECT)
select *
from @tbl1 S1
join @tbl2 S2
on S1.A_CD=S2.a_cd
and S2.b_kbn=S2.b_kbn
--変数テーブルの値を更新する(UPDATE)
update @tbl1 set c_kbn+=1
--確認用SELECT
select * from @tbl1
--変数テーブルの値を削除する(DELETE)
delete from @tbl1 where b_kbn='1'
--確認用SELECT
select * from @tbl1

もちろん変数なので同じセッション中のみ有効です。
また、セッションが切れたら無くなります。

[WPF] 右上の閉じるボタンの無効化

[WPF] 右上の閉じるボタンの無効化

右上の閉じるボタンを無効化し、ダイアログWindowなどの誤閉じを防止する。

1)次のクラスを作成する。
Imports System.Windows.Interop
Public Class ClassNotClose
    <System.Runtime.InteropServices.DllImport(“user32.dll”)> _
    Shared Function GetSystemMenu(ByVal hWnd As IntPtr, _
                                  ByVal bRevert As Boolean) As IntPtr
    End Function

    <System.Runtime.InteropServices.DllImport(“user32.dll”)> _
    Shared Function EnableMenuItem(ByVal hWnd As IntPtr, _
                                   ByVal uIDEnableItem As UInteger, _
                                   ByVal uEnable As UInteger) As Boolean
    End Function

    Private Const MF_BYCOMMAND As UInteger = &H0
    Private Const MF_GRAYED As UInteger = &H1
    Private Const SC_CLOSE As UInteger = &HF060

    Private hwndSource As HwndSource = Nothing

    Public Sub DisEnable(winHndl As Object)
        Dim hwnd As IntPtr
        hwnd = DirectCast(PresentationSource.FromVisual(winHndl), HwndSource).Handle
        Dim hMenu As IntPtr = GetSystemMenu(hwnd, False)
        If hMenu <> IntPtr.Zero Then
            EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED)
        End If
    End Sub
End Class

2)閉じさせたくないWindowから呼び出す。(Loadedの中で等)
Dim oNotClose As New ClassNotClose
Private Sub Window2_Loaded(sender As Object, e As ystem.Windows.RoutedEventArgs) Handles Me.Loaded
        oNotClose.DisEnable(Me)
End Sub

[WPF] Windowサイズを変更不可にする

[WPF] Windowサイズを変更不可にする

Windowサイズを変更させたくない場合、次のように赤文字列をXAMLに記述します。

<Window x:Class=”Window2″
    xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation
    xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml
    Title=”Window2″ Height=”300″ Width=”300″
    ResizeMode=”NoResize”>

ただ、右上に「☓」が出たままですが。。。

[ASP.NET] オブジェクトの現在の状態に問題があるため、操作は有効ではありません。

[ASP.NET] オブジェクトの現在の状態に問題があるため、操作は有効ではありません。

以前作成したプログラムを改修し、動作テストをしていたところ、急に「オブジェクトの現在の状態に問題があるため、操作は有効ではありません」とエラー発生してしましました。。。。

今回の修正箇所とは違う箇所なので「おや?あれ?」と思ってデバッグしてみると、どうやら表示件数が多くてダメっぽいことが判明。
一応表示データの一部に異常なコードが有ってHTMLのコードに影響有るかもと疑い、データを確認しても異常なし。

表示件数を減らすか?でもなぁ・・・と途方に暮れはじめ、何か有るかもとネットで検索すると、「MS11-100」のパッチの影響でというのがゴロゴロ。。。
で、こんな回避策が。。。情報提供者の方々ありがとう^^!

  web.config にコントロール数の上限を増やしてあげる記述を追加する。
  <appSettings>
  <add key=”aspnet:MaxHttpCollectionKeys” value=”5001″ />
  </appSettings>

無事に解決、、、ちなみに、Valueを変更させることで何かの不具合が出るかもと思いましたが、今のところValueを10000にしても正常に動いているので、一安心^^

ふと思ったことの最初の投稿

ふと思ったことの最初の投稿

あー。今はふと思うことを書くのもいいかなと思ったけど。。。。

3.11の震災から1年。大きな衝撃を受けた日だったのを思い出したのと、被災された方達に「今も大変だろけどがんばれ!」とエールを送りたいです。

ASRock、Atom D2700搭載のMini-ITXマザー

ASRock、Atom D2700搭載のMini-ITXマザーには、WindowsXPがインストールできないのは本当だった!

インストールは途中までできるが、Windowsが立ち上がらない。。。。

(追伸)
現在は、Windows7 Professional  32bit版で元気に動いてます。
メモリは4G積んでます。
ただ、VS2010を入れて開発できるか試しましたが。。。。少し辛いです。。。

インターネット検索はストレス無いですが、動画はどうか余りやってないので判りません。
が、何も立ち上げて動かさなければそこそこかなと思います。
ビデオカードにもよるので、良く分かりません^^;