Thread Rating:
  • 559 Vote(s) - 2.89 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordSet DE RecordDataとRecord
08-17-2011, 03:51 PM,
#2
RE: RecordSet DE RecordDataとRecord
(08-17-2011, 10:30 AM)nasuB Wrote: またまた、謎が生まれちゃいました。

RecordSetにデータを追加などするときは、RecordDataクラスのオブジェクトなのに、取得するときはBasicRecordなのはなんでですか??

ややこしいので、同じにすればいいと思うんですが。。。

はじめて書き込みます。
nmyzkと申します。

簡単に言うと、RecordDataがあるのは
「プログラムを簡単に書くため」です。

もしRecordDataが無かったら、
nasuBさんの書いたプログラムは
↓このような書き方をしなければなりません。

Code:
def rs =     {RecordSet
{RecordFields
{RecordField "id"},
{RecordField "name"}
}
}

let r:Record = {rs.new-record}

set r["id"] = "01"
set r["name"] = "hoge"

{rs.append r}

set r = {rs.new-record}
set r["id"] = "02"
set r["name"] = "foo"

{rs.append r}

{rs.commit}

{for r in rs do    {dump {type-of r}}


かなり冗長な感じがしませんか?

ちなみにこのサンプルはフィールドが2つですし、
取り扱うRecordSetのオブジェクトも1つなので
まだいいですが、
これが何十フィールド、何オブジェクトもを
同時に扱うとなると、いきなりややこしくなります。

でも、RecordDataなら1行でまとめることもできるのです。

あと、RecordDataが内部でRecord(BasicRecord)に変換されるのは、
RecordDataの柔軟性を持ったまま、RecordSetが実現する
高速処理を行うのが難しいからだと思われます。

この先は挙動に基づく推測も含まれますので
次の返信で掲載します。
お暇な方はお読みください。



Messages In This Thread
RecordSet DE RecordDataとRecord - by nasuB - 08-17-2011, 10:30 AM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 03:51 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 04:15 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 04:20 PM
RE: RecordSet DE RecordDataとRecord - by nasuB - 08-18-2011, 05:35 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-18-2011, 09:04 PM
RE: RecordSet DE RecordDataとRecord - by nasuB - 08-22-2011, 11:34 AM

Possibly Related Threads...
Thread Author Replies Views Last Post
  RecordSet.batch-events?=true 時でもRecordModifiedイベントが発行されてしまう umemura 1 2,752 12-25-2013, 11:44 AM
Last Post: umemura
  RecordSet に groupby したい? umemura 1 4,649 09-25-2013, 05:14 PM
Last Post: umemura
  RecordSet DE 複数の主キー nasuB 2 4,831 08-16-2011, 09:01 AM
Last Post: nasuB
  {RecordSet.commit}について thiguchi 1 4,733 08-15-2011, 01:04 PM
Last Post: fukuta
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('212')