掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2008年03月28日
プロジェクトファイルをVBクラスファイルにする
かなりニッチな要求ですが、割と簡単にできましたのでメモ。

1.クラス化したいVBプロジェクトファイルを作業しやすいフォルダ(C:\など)にコピー。
 この際、拡張子を .xml に変更しておく。

2.C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin にある、xsd.exeを使って xsdファイルを作成する。 
コマンド例(Cドライブに WindowsApplication1.xml というファイルがある場合)
xsd c:\WindowsApplication1.xml
 
実行すると、
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin にWindowsApplication1.xsd ファイルが作成されている。
3.「2」で作成したxsdファイルを作業しやすいフォルダ(C:\など)にコピー。

4.xsd.exeを使って、xsdファイルからクラスファイルを生成する。
コマンド例(Cドライブに WindowsApplication1.xsd というファイルがある場合)
xsd /c c:\WindowsApplication1.xsd

実行すると、
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin に WindowsApplication1.cs ファイルが作成されている。
 クラスファイルは作成されるものの、言語はC#なので注意。

5.「4」のファイルをVB.NETに変換したい場合は、
 SharpDeveloper(http://www.sharpdevelop.net/OpenSource/SD/Download/)を使って、
   Tool > Convert code to > VB.NET
 とすればOK。

■参考
XMLスキーマ定義ツール(Xsd.exe)
http://msdn2.microsoft.com/ja-jp/library/x6c1kb0s.aspx

なんでこんなことをやるかって??

続きを読む ...
 
[ 投稿者:mk3008 at 01:41 | VS.NET Tips | コメント(0) | トラックバック(0) ]

シリアル化/逆シリアル化(VB2008バージョン)
最近、よくシリアル化、逆シリアル化をするので、以前に書いたサンプルコードをVB2008用に修正。
Usingのおかげですっきりしてます。

01Imports System.IO
02Imports System.Xml.Serialization
03
04Public Class Form1
05    '''
06    ''' シリアル化
07    '''
08    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
09        Me.Serialize(New Class1, "c:\data.xml")
10    End Sub
11
12    Private Sub Serialize(ByVal c As Class1, ByVal path As String)
13        Dim sr As New XmlSerializer(c.GetType)
14        Try
15            Using fs = New System.IO.FileStream(path, IO.FileMode.Create)
16                Using wr As New System.IO.StreamWriter(fs)
17                    sr.Serialize(wr, c)
18                End Using
19            End Using
20        Catch ex As Exception
21            Throw ex
22        End Try
23    End Sub
24
25    '''
26    ''' 逆シリアル化
27    '''
28    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
29        Dim c As Class1 = Me.DeSerialize(Of Class1)("c:\data.xml")
30    End Sub
31
32    Private Function DeSerialize(Of T)(ByVal path As StringAs T
33        Dim sr As New XmlSerializer(GetType(T))
34        Try
35            Using fs = New System.IO.FileStream(path, IO.FileMode.Open)
36                Using r As New System.IO.StreamReader(fs)
37                    Return CType(sr.Deserialize(r), T)
38                End Using
39            End Using
40        Catch ex As Exception
41            Throw ex
42        End Try
43    End Function
44End Class
 powered by vb2html ver2.1b
[ 投稿者:mk3008 at 00:14 | VB.NET | コメント(3) | トラックバック(0) ]

2008年03月13日
テーブルを作成、または修正する
SQLServerでテーブルを作成する、または列情報を更新する。

--テーブルの作成
CREATE TABLE {TableName} (
{ColumnName} {ColumnType} {Default} {NotNull} {Unique},
,
{ColumnName} {ColumnType} {Default} {NotNull} {Unique}
)

--列の追加
ALTER TABLE {TableName} ADD {ColumnName} {ColumnType} {Default} {NotNull} {Unique}

--列の削除
ALTER TABLE {TableName} DROP COLUMN {ColumnName}

--列の定義変更
ALTER TABLE {TableName} ALTER COLUMN {ColumnName} {ColumnType} {Default} {NotNull} {Unique}

--主キーを追加する
ALTER TABLE {TableName} ADD CONSTRAINT PK_{TableName} PRIMARY KEY ({ColumnName1}, {} ,{ColumnNameN})

--主キーを削除する
ALTER TABLE {TableName} DROP PRIMARY KEY
[ 投稿者:mk3008 at 01:26 | 設計メモ | コメント(0) | トラックバック(0) ]

テーブル、列の備考情報を設定、取得する
SQLServerのテーブル、列にコメントを設定する、または取得するクエリ。

--テーブルコメント設定
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'{TableRemarks}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'{TableName}'

--列コメント設定
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'{ColumnRemarks}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'{TableName}', @level2type=N'COLUMN',@level2name=N'{ColumnName}'

--テーブルコメント取得
select b.value from sys.tables a
left join sys.extended_properties b on a.object_id = b.major_id and a.parent_object_id = b.minor_id
where a.name ='{TableName}'

--列コメント取得
select b.name, c.value from sys.tables a
inner join sys.columns b on a.object_id = b.object_id
left join sys.extended_properties c on b.object_id = c.major_id and b.column_id = c.minor_id
where a.name ='{TableName}' and b.name='{ColumnName}'
[ 投稿者:mk3008 at 01:23 | 設計メモ | コメント(0) | トラックバック(0) ]

2008年03月12日
データベースの構造を取得するクエリ
Microsoft SQL Server データベースの構造を取得するクエリをメモ。

USE カタログ名
--テーブル一覧
SELECT * FROM INFORMATION_SCHEMA.TABLES AS A
WHERE A.TABLE_CATALOG='カタログ名'

--フィールド一覧
SELECT * FROM INFORMATION_SCHEMA.COLUMNS AS A
WHERE A.TABLE_CATALOG='カタログ名' AND A.TABLE_NAME ='テーブル名'

--キー一覧
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS A
WHERE A.TABLE_CATALOG='カタログ名' AND A.TABLE_NAME ='テーブル名'


続きを読む ...
 
[ 投稿者:mk3008 at 00:12 | 設計メモ | コメント(0) | トラックバック(0) ]

2008年03月11日
かもぉ~ん でぃべろっぱ~~~~
われらがスティーブ・バルマー様が、お得意のダンスを披露してくれたとニュースがあった。
MSのバルマーCEO、伝説のモンキーボーイ・ダンスを披露

ムービー見たけど正直、がっかりだ。


コレを超えるダンスはもう見られないのだろうか・・・

昔みた記憶だと、聴衆と一緒に
「ディベロッパー、ディベロッパー」
と叫んでるシーンもあったような気がする。
[ 投稿者:mk3008 at 01:10 | IT News | コメント(0) | トラックバック(0) ]

2008年03月09日
ソースコードジェネレータ機能アップ
まったく浸透していないO/Rマッピングツール
AttributeORM用のソースコードジェネレータをバージョンアップし、ver0.0.3としました。

デバッグ用のメニューや、主キー生成ロジックを標準装備させたので、
テーブル定義書さえあれば、マスターメンテナンス画面を高速作成できます。

データベースのテーブル作成機能を実装していないのは残念ですが、機能的に区切りがいいので、
プログラム開発はいったん一休みして、
しばらくはドキュメントの作成に専念しようかと思います。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 21:07 | フリーウェア | コメント(0) | トラックバック(0) ]

2008年03月02日
O/Rマッピングツール用のツールを公開
http://dotnet.sakura.ne.jp/orm/wiki/にて、
O/Rマッピングツール用のソースコードジェネレータツールを公開しました。

テーブル定義書(フォーマット指定あり)があれば、
モデル、ビュー(フォーム)、VBのプロジェクトファイルまで生成してくれる、なかなかのツールです。

是非使ってくださいといいたいところですが、使い方の説明ページはまだ作りかけです^^;
作りかけのページ。

まだ実装したい機能もあるけど、現バージョンの説明ページも作らないといけないし、
一通りできるのはやっぱり3月末かな。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 22:24 | フリーウェア | コメント(0) | トラックバック(1) ]