SELECT文で先頭のn行を返す (SQL Server,Oracle)
- SQL Server
-
SELECT TOP n * FROM Table1
- Oracle
- SELECT * FROM Table1 WHERE ROWNUM <= n
ROWNUMは行を取得した後に割り当てられるため,ROWNUM=n のような使い方はできない.
プログラミング覚え書きなど
SELECT文で先頭のn行を返す (SQL Server,Oracle)
ROWNUMは行を取得した後に割り当てられるため,ROWNUM=n のような使い方はできない.
VB2005で,DataGridViewにDataSourceを割り当てて表示するときに,手動でコンボボックス列やチェックボックス列を作成する方法.
(DataSourceに割り当てたデーターにはIDが入っているが,IDではなくIDに対応した項目名をコンボボックスに表示したい場合など)
Private Sub a()
‘グリッドに表示するデーター
Dim dt0 As New DataTable
dt0.Columns.Add(“項目1”, GetType(Integer))
dt0.Columns.Add(“項目2”, GetType(Boolean))
dt0.Columns.Add(“項目3”, GetType(String))
dt0.Rows.Add(0, True, “あいうえお”)
dt0.Rows.Add(1, False, “かきくけこ”)
dt0.Rows.Add(2, True, “さしすせそ”)
‘項目1のコンボボックス列用データー
Dim dt1 As New DataTable
dt1.Columns.Add(“ID”, GetType(Integer))
dt1.Columns.Add(“名称”, GetType(String))
dt1.Rows.Add(0, “A”)
dt1.Rows.Add(1, “B”)
dt1.Rows.Add(2, “C”)
‘DataGridViewに手動で列作成
With DataGridView1
.AutoGenerateColumns = False ‘列が自動的に作成されないようにする
.DataSource = dt0
‘項目1列作成(コンボボックス列)
Dim Col_cmb1 As New DataGridViewComboBoxColumn()
Col_cmb1.DataSource = dt1
Col_cmb1.DisplayMember = “名称”
Col_cmb1.ValueMember = “ID”
Col_cmb1.DataPropertyName = “項目1”
Col_cmb1.Name = “項目1”
Col_cmb1.DisplayStyleForCurrentCellOnly = True ‘カレントセルのみコンボボックスを表示する
‘Col_cmb1.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing ‘編集時のみコンボボックスを表示する
.Columns.Add(Col_cmb1)
‘項目2列作成(チェックボックス列)
Dim Col_chk1 As DataGridViewCheckBoxColumn = New DataGridViewCheckBoxColumn()
Col_chk1.DataPropertyName = “項目2”
Col_chk1.Name = “項目2”
‘Col_chk1.ThreeState = True ‘3種類のチェック状態(中間状態)を表示する場合
.Columns.Add(Col_chk1)
‘項目3列作成(テキストボックス列)
Dim Col_txt1 As DataGridViewColumn = New DataGridViewTextBoxColumn()
Col_txt1.DataPropertyName = “項目3”
Col_txt1.Name = “項目3”
.Columns.Add(Col_txt1)
‘.AutoResizeColumns()
End With
End Sub
Delphi2010のヘルプは内容が不完全で使えない.
Delphi2009またはそれ以前のヘルプのほうがまだましなので,削除せずに残しておいてそちらを参照するのがよい.