SQLServer日記

SQLServer2005のストアドでTransaction

1 Mins read

下のコメントついでに2005の処理
2005からはTry~Catchっぽくなってる
(2000方式でももちろんOK!)
 

BEGIN TRY
BEGIN TRANSACTION            --トランザクションの開始

   --SQL文1

    COMMIT TRANSACTION       --トランザクションを確定
END TRY

--例外処理
BEGIN CATCH
    ROLLBACK TRANSACTION     --トランザクションを取り消し
    PRINT ERROR_MESSAGE()    --エラー内容を戻す
    PRINT 'ROLLBACK TRANSACTION'
END CATCH
Read more
SQLServer日記

SQLServer2000のストアドでTransaction

1 Mins read

なんでもやります(笑)って、
今日はちょっとストアド書いていて引っかかったので覚書

SQLを実行してエラーになると@@error変数にエラー番号が格納されるのを使用する方法
 

BEGIN TRANS

--SQL文1
if @@error  0 goto hoge

--SQL2
if @@error  0 goto hoge

COMMIT
RETURN

hoge:
ROLLBACK
Print N'Error'
RETURN

こんな感じ(笑)

Read more
JavaScript日記

ExtJS TableLayoutでinputなど表示エラー?

1 Mins read

ExtJS2.2にてTabPanel内にTableLayoutを使用すると2つ目以降のTabにて表示がされない問題が発生!
症状をおってみる・・・、ブラウザサイズを変更すると表示されるときがある???

本体のソースも追ってみると、どうやら「monitorResize:false」が固定されているのが問題らしい。
ためしにtrueに変更してみると・・・ビンゴ!

但し、本体ソースに変更は加えたくないのでラッパーとして以下のLayoutを追加し、使用する

//Tab内で使用する場合に「monitorResize:false」のためrenderされないので修正!
//他での使用にて問題がでる可能性もあるので要注意!
Ext.layout.TableLayoutEx = Ext.extend(Ext.layout.TableLayout, {
    // private
    monitorResize:true
    //monitorResize:false,
});
//Layoutタイプは「'tableex'」
Ext.Container.LAYOUTS['tableex'] = Ext.layout.TableLayoutEx;

これで取りあえず、今のところ問題なし、この辺りの処理は
アニメーションなども絡んでそうで時間があったら追ってみよう(笑)

Read more
JavaScript日記

ExtJS Viewportを使用しないLayout方法

1 Mins read

ExtJSでViewportを使用しないでLayoutする方法です。

前にも記載したのですが、Viewportはお手軽に使える一方、画面を乗っ取ってしまうので
画面の一部のコンポーネントとして組み込むことが出来ません。

Panelのみでサンプルを作成してみました。

Ext.onReady(function() {

Ext.get(document.body).update('
'); new Ext.Panel({ id: 'hoge', //styleを'viewport'に defaultType: 'viewport', //render先は renderTo: 'test1', //frameで枠を表示 frame: true, //タイトル設定 title: 'test1 title', //widthの設定 //width: 400, width: '100%', height: 600, //autoHeight: true, //ウィンドウリサイズイベントを監視し内容を再描画する //「width: '100%'」対応 monitorResize: true, //layout方法は「border」 layout: 'border', //子要素に対し標準設定 defaults: { xtype: 'panel', autoScroll: true, minSize: 30, maxSize: 100, //パネルの開閉 collapsible: true, frame: true }, items: [{ //regionでこのパネルは「north」=上へ region: 'north', //ヘッダー表示 header: true, height: 50, //split表示On split: true, html: 'hoge HTML north' },{ //regionでこのパネルは「west」=左へ region: 'west', width: 50, //split表示On split: true, html: 'hoge HTML west' },{ //regionでこのパネルは「east」=右へ region: 'east', //タイトルを設定すると自動的にヘッダー表示がOnになる title: 'east title', width: 50, //split表示On split: true, html: 'hoge HTML east' },{ //regionでこのパネルは「south」=下へ region: 'south', width: 50, //split表示On split: false, html: '

hoge HTML south 「split: false」

' },{ //regionでこのパネルは上「center」メイン画面 region: 'center', html: 'hoge HTML center' }] }); });

また、親、子ともframeをfalseにすると丸みが無くなり、標準?表示になります。
「frame: false」

Read more
JavaScript日記

ExtJS themeの設定

1 Mins read

themeの設定では初めに「ext-all.css」を設定しその後に「xtheme-gray.css」などを
設定すれば変えられます。
 


標準では「gray」が入っており、ExtJSのExtensionsのページでも入手できます。

Read more