PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23988 14/04/02 10:41:08 RE(4):PB11.5: データウィンドウのソート順について By hashi10
23987 14/03/17 10:02:35 RE(3):PB11.5: データウィンドウのソート順について By asano01
23986 14/03/17 10:02:30 RE(2):PB11.5: データウィンドウのソート順について By asano01
23985 14/03/06 08:58:12 RE:PB11.5: データウィンドウのソート順について By ジム
23984 14/03/06 08:58:17 PB11.5: データウィンドウのソート順について By ジム

カテゴリ:PowerBuilderの開発環境
日付:2014年04月02日 10:41 発信者:hashi10
題名:RE(4):PB11.5: データウィンドウのソート順について

asano01 様

ご回答ありがとうございます。

すみません、私の書き方が不十分でした。
idが最優先されたのではなくsortを明記したcd1、cd2は昇順で並びましたが
明記していないカラムについてのソート順がPB9、PB11.5で異なっておりました。

id、cd1、cd2、cd3、cd4
1  2  1  3  4
2  1  2  3  4
3  1  2  3  4

このようなレコード状態でdw_test.setsort("cd1 A, cd2 A")を実行したところ
PB9ではid2→3→1のレコード順で並びましたが
PB11.5ではid3→2→1のレコード順で並びました。

こちらに関してはソート順にidを加えて厳格に挙動するよう対応を行おうと思います。

ありがとうございました。

>hashi10 様

>こんにちは。

>id順になるのは、PB9のバグだったと記憶しています。
>PB11.5では解消され、並び順など「厳格化」されています。
>その影響かもしれません。


>>例えばid、cd1、cd2、cd3、cd4 の5つのカラムが存在していたとして(キーカラムはid)
>>dw_test.setsort("cd1 A, cd2 A")
>>としてソート順の指定を行いました。

>確認です。
>ソート結果は、cd1 ASC, cd2 ASC 順に並んでいますか?

>ならば、結果は「ただしい」です。

>上記の条件の場合、他の項目(idなど)はソートの条件になりません。
>SQL文で、"ORDER BY "cd1 ASC, cd2 ASC" としたのと
>同じソートが行なわれます。

>id順にしたいのであれば、条件に追加してください。


>>cd1とcd2の値が同じだったのですがPB9ではidの昇順で表示されたのに対して
>>PB11.5ではidが降順の状態で表示され表示結果が異なりました。

>もうひとつ確認です。

>PB9は、内部の文字コードはSJISです。
>PB11.5は、UTF-16(unicode)になります。

>もしかして、cd1やcd2は、会社名などの"日本語"ではありませんか?
>ソート時、「文字の意味」ではなく「文字コード」で並べ替えをします。
>このため、SJISのときとUTF-16のときでは、並び順が変わってしまいます。

># SJISは読み順(あいうえお順)に文字にコードをふって行った。
># UTF-16は、日本が主導権を握らなかったため、中国語、日本語、韓国語を
># 同じグループとして、文字に、コードを振り分けられてしまった。

>このへんは説明すると長くなります。
>文字コードとフォントとの関係を理解できないとつまずきます。

>ご自身で、unicode関連の書籍と、文字コード関連の書籍で確認ください。
>(値段、高いです)


>以上確認くださいますようお願いいたします。


>>ジム 様
>>
>>ご回答ありがとうございます。
>>
>>データベースは
>>Adaptive Server Anyhere 8.0.3
>>SQL Anywhere 11
>>
>>をそれぞれ使用しています。
>>名前は異なりますが、同じデータベースの
>>バージョン違いになります。
>>
>>以上、宜しくお願い致します。
>>
>>>hashi10 様
>>>
>>>こんにちわ。
>>>
>>>お使いのデータベースはPB9とPB11.5で
>>>同一のデータベースをお使いでしょうか。
>>>
>>>>現在PB9とPB11.5を使用しています。
>>>>
>>>>データウィンドウのソートについてご質問させて頂きます。
>>>>
>>>>例えばid、cd1、cd2、cd3、cd4 の5つのカラムが存在していたとして(キーカラムはid)
>>>>dw_test.setsort("cd1 A, cd2 A")
>>>>としてソート順の指定を行いました。
>>>>
>>>>cd1とcd2の値が同じだったのですがPB9ではidの昇順で表示されたのに対して
>>>>PB11.5ではidが降順の状態で表示され表示結果が異なりました。
>>>>
>>>>このようにsetsortで明記されなかったカラムに対しては表示順位は何が優先されるのか
>>>>それがPB9とPB11.5とで異なるのか、仕様がお解りになる方がいらっしゃいましたら
>>>>ご教授頂ければと思います。
>>>>
>>>>宜しくお願い致します。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.