Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

RDB::Table

Phi::Table は BDE コネクションのためのテーブルクラス?です。

Table

super class

DataSet?

class methods

new : Table

Phi::Table.new(nil, dbase_or_paradox_path)

require "rdb"
dbase_or_paradox_path = "C:\\Program Files\\Common Files\\Borland Shared\\Data\\biolife.db"
table = Phi::Table.new(nil,dbase_or_paradox_path)
#
p :before_open
p Phi::SESSION.databases[0]               #=> nil
puts table.struct # open
#=> name	type	size
#=> species no	Float	0
#=> category	String	15
#=> common_name	String	30
#=> species name	String	40
#=> length (cm)	Float	0
#=> length_in	Float	0
#=> notes	Memo	50
#=> graphic	Graphic	0
p :after_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
p Phi::SESSION.databases[0].database_name #=> ""
p Phi::SESSION.databases[0].table_names   #=> #<Phi::StringList: >

Phi::Table.new(table_dir, table_name)

require "rdb"
table_dir = "C:\\Program Files\\Common Files\\Borland Shared\\Data"
table_name = "biolife.db"
table = Phi::Table.new(table_dir, table_name)
#
p :before_open
p Phi::SESSION.databases[0]               #=> nil
puts table.struct # open
p :after_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
p Phi::SESSION.databases[0].database_name #=> "C:\\Program Files\\Common Files\\Borland Shared\\Data"
p Phi::SESSION.databases[0].table_names   #=> #<Phi::StringList: "animals", "biolife", "clients", ..

Phi::Table.new(bde_alias_name, table_name)

require "rdb"
bde_alias_name = "dbdemos"
table_name = "biolife.db"
table = Phi::Table.new(bde_alias_name, table_name)
#
p :before_open
p Phi::SESSION.databases[0]               #=> nil
puts table.struct # open
p :after_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
p Phi::SESSION.databases[0].database_name #=> "dbdemos"
p Phi::SESSION.databases[0].table_names   #=> #<Phi::StringList: "animals", "biolife", "clients", ..

Phi::Table.new(database_object, table_name)

require "rdb"
bde_alias = "dbdemos"
table_name = "biolife.db"
database = Phi::Database.new(bde_alias)
table = Phi::Table.new(database, table_name)
#
p :before_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
puts table.struct # open
p :after_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
p Phi::SESSION.databases[0].database_name #=> "dbdemos"
p Phi::SESSION.databases[0].table_names   #=> #<Phi::StringList: "animals", "biolife", "clients", ..

Phi::Table.new(database_object, table_name)

require "rdb"
table_dir = "C:\\Program Files\\Common Files\\Borland Shared\\Data"
table_name = "biolife.db"
database = Phi::Database.new(table_dir)
table = Phi::Table.new(database, table_name)
#
p :before_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
puts table.struct # open
p :after_open
p Phi::SESSION.databases[0]               #=> #<Phi::Database:0x1903050>
p Phi::SESSION.databases[0].database_name #=> "C:\\Program Files\\Common Files\\Borland Shared\\Data"
p Phi::SESSION.databases[0].table_names   #=> #<Phi::StringList: "animals", "biolife", "clients", ..

properties

exclusive

exclusive=

index_field_names

index_field_names=

index_name

index_name=

master_fields

master_fields=

read_only

read_only=

store_defs

store_defs=

table_name

table_name=

table_type

table_type=

index_defs

Table の IndexDefs? オブジェクトを返します。

IndexDefs? オブジェクトは,テーブルのインデックスに関する情報( IndexDef? )の集合体です。

新規のテーブルを作成する場合には、 Table?#create_table を呼び出す前に Table?#index_defs で取り出したオブジェクトを使ってテーブルのインデックス定義を作成します。

既存のテーブルのインデックス情報を参照するには、 IndexDefs?#update で最新の項目リストに更新した後に Table?#index_defs を参照します。これにより、そのテーブルで利用可能なインデックスの情報を調べることができます。

table.index_defs.update

puts table.index_defs.collect{ |index_def| index_def.fields }

IndexDefs? が更新または手動で編集されている場合 Table?#store_defs は true になります。

なお、テーブルにインデックスを指定するには Table?#index_field_names= または Table?#index_fields= を使います。

event handlers

on_update_error

on_update_record

Last modified:2006/07/18 18:08:34
Keyword(s):
References:[ext-rdb-RDB-Table] [ext-rdb-RDB-constants] [ext-rdb-index] [データセットクラス]