(現在 過去ログ36 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 親記事をトピックトップへ ]

このトピックに書きこむ

過去ログには書き込み不可

■5604 / inTopicNo.1)  Re[20]: 日本語未対応?
  
□投稿者/ 尾形 -(2010/02/03(Wed) 08:18:40)
    項目名が分かっていいかなと思いましたけど
    抽出式で書かないといけないから一緒ですね
    失礼しました

引用返信 [メール受信/OFF] 削除キー/
■5603 / inTopicNo.2)  Re[19]: 日本語未対応?
□投稿者/ hidetake -(2010/02/02(Tue) 10:35:28)
    > ふと思ったのですが、これって
    > ダミーのxvwだけでなく、
    > 正規のxvwにも有効でないですか?
    >
    > 1番目にダミー項目を設定して、以下は正規の項目
    >

    何のために?

引用返信 [メール受信/OFF] 削除キー/
■5602 / inTopicNo.3)  Re[19]: 日本語未対応?
□投稿者/ hidetake -(2010/02/02(Tue) 10:33:44)
    >>最初の &STR を定義する項目を除けば、データを取得
    >>するために定義できる項目数は 1,999項目
    > これって手作業ですか? (^^;
    > 20項目程であきらめたのですが

    計算式に設定したうえで、項目名を「項目」 と設定し、
    計算式に " " と入力。次に、行セレクタで行を選択の
    うえ、「編集」で「コピー」。あとは、終端行でひた
    すら Ctrl + V を押し続けるだけ。連番は桐が勝手に
    付け加えてくれます。

    ただ、外部DBには表定義の書き出しや読み込みも無い
    ので、一度設定したものをあとで編集したりするのは
    困難です。

引用返信 [メール受信/OFF] 削除キー/
■5601 / inTopicNo.4)  Re[18]: 日本語未対応?
□投稿者/ 尾形 -(2010/02/02(Tue) 10:07:29)
    ふと思ったのですが、これって
    ダミーのxvwだけでなく、
    正規のxvwにも有効でないですか?

    1番目にダミー項目を設定して、以下は正規の項目

引用返信 [メール受信/OFF] 削除キー/
■5600 / inTopicNo.5)  Re[18]: 日本語未対応?
□投稿者/ 尾形 -(2010/02/02(Tue) 09:57:25)
    集計系のxvwなんか不要になりそうです
    すごく自由度がアップしました ^^


    > 最初の &STR を定義する項目を除けば、データを取得
    > するために定義できる項目数は 1,999項目
    これって手作業ですか? (^^;
    20項目程であきらめたのですが

引用返信 [メール受信/OFF] 削除キー/
■5599 / inTopicNo.6)  Re[17]: 日本語未対応?
□投稿者/ hidetake -(2010/02/01(Mon) 22:59:56)
    > 表定義の項目は適当に複数作っておいて、
    > SELECT の抽出する項目数が少ない分には
    > 良いようです。SELECT で抽出する項目数
    > の方が多ければエラーになります。

    ちょいと試してみたけど、桐の外部DB で定義できる
    最大項目数は、表と同じ 2,000項目。

    最初の &STR を定義する項目を除けば、データを取得
    するために定義できる項目数は 1,999項目。

    SQL サーバ側の仕様上の最大カラム数は、1テーブル
    あたりであれば、それ以上の項目数を定義できるもの
    はほとんど無い。PostgreSQL で 1600。テーブル同士
    を結合すれば 4096 とか SELECT 出来るものもある
    ようだけれど、実際にはまずそんな事に出くわすこと
    も少ないと思う。

    なので、計算項目で桐の最大限まで定義していれば
    ', * FROM table …… ; --
    なんてしても、まず問題なく取ってこれるようである。 :-)

    # そんなことしても、項目数が多ければ、項目名との
    # 対比ができずにどの項目のデータなんてわからなく
    # なることは必至だが。


引用返信 [メール受信/OFF] 削除キー/
■5598 / inTopicNo.7)  Re[17]: 日本語未対応?
□投稿者/ 尾形 -(2010/01/30(Sat) 17:41:16)
    ですよね

    xvwは多重オープンができないので
    同じようなxvwがいくつもいります

    得意先だけでも
    ・得意先表引き.wfm 用
    ・得意先id入力値のチェック用
    ・得意先マスタ登録.wfm 用

    おかげさまでスッキリさせる事ができるようです

引用返信 [メール受信/OFF] 削除キー/
■5597 / inTopicNo.8)  Re[16]: 日本語未対応?
□投稿者/ hidetake -(2010/01/30(Sat) 17:15:03)
    2010/01/30(Sat) 17:19:12 編集(投稿者)

    > 活用方法はいろいろありそうです

    表定義の項目は適当に複数作っておいて、
    SELECT の抽出する項目数が少ない分には
    良いようです。SELECT で抽出する項目数
    の方が多ければエラーになります。

    代替え表引きとか、データを選択させる
    分には通常の2〜3項目もあれば用が足り
    ると思うので数個の文字列項目を作って
    おき、使い回しするというのも有りかな?

    大分類から段階を経て選択させるとか・・・
    1つの外部DBで使い回しでね。
    フォームは動的に表示を変化させれば
    良いわけだし!

引用返信 [メール受信/OFF] 削除キー/
■5596 / inTopicNo.9)  Re[15]: 日本語未対応?
□投稿者/ 尾形 -(2010/01/30(Sat) 16:43:44)
    > No5586方式
    無事通りました
    コレって最高ですね! ^^

    活用方法はいろいろありそうです

引用返信 [メール受信/OFF] 削除キー/
■5594 / inTopicNo.10)  Re[14]: 日本語未対応?
□投稿者/ hidetake -(2010/01/30(Sat) 12:41:52)
    2010/01/30(Sat) 13:14:50 編集(投稿者)

    > やっぱりダメです

    #count 方式は日本語が入るとダメなようです。
    カラム名でも日本語が入るとダメでした。

    今は自分の場合、計算式 &STR 方式でやって
    いたので素直に通っていました。

    #count 方式は桐がその引数を何か操作している
    のか日本語のところで打ち切られるようです。
    No5586
    方式を試して下さい。

    # No5586方式だと、値を取得する項目(2番目以降)
    # の型を文字列にしていると、結果が数値形式の
    # ものでも文字列として値を取得できる。
    # 式を与えた本人は型を把握しているので型変換
    # すれば値を利用できる。
    # 外部DB を開いたままで、&STR に与える式を変更
    # し、再抽出するだけで、思いの結果が得られる。
    # 使い方によっては相当おもしろい。
    #
    # COUNT だって MAX だって AVG だって、複数行の
    # 結果を得るものだって・・・
    # 複数行も得られるので、表引きの元にするデータ
    # やドロップダウンリストに使用するデータも条件
    # 入れれば、対象のデータをテーブルによらず得る
    # 事も可能だ。開きっぱなしで、欲しいデータを
    # 持ってくる SQL文を書いて、その都度、再抽出
    # するだけだ!

引用返信 [メール受信/OFF] 削除キー/
■5593 / inTopicNo.11)  Re[13]: 日本語未対応?
□投稿者/ 尾形 -(2010/01/30(Sat) 12:25:19)
    > ` で括る
    やっぱりダメです

    >SELECT COUNT('*') FROM mst_tokui WHERE mei1 LIKE "%あ%" ;
    このあたりでも、直接コマンド投げると通るのですが

    > ANSIモード
    やってみます

引用返信 [メール受信/OFF] 削除キー/
■5592 / inTopicNo.12)  Re[12]: 日本語未対応?
□投稿者/ hidetake -(2010/01/30(Sat) 10:47:56)
    2010/01/30(Sat) 12:04:15 編集(投稿者)
    2010/01/30(Sat) 11:12:39 編集(投稿者)

    >>*') FROM mst_tokui WHERE mei1 LIKE '%あ%' ; --
    > やはり通りません

    MySQL の場合は、ANSI の場合は " で、それ以外の場合は
    ` で括る独自仕様のようです。

    「SQL バッククオート」or「SQL バッククォーテーション」
    で検索すると出てきます。

    SQL の場合、" と ' と ` が出て来るので DB によって
    それぞれ違うので気をつけた方が良いです。

    MySQL の場合、動作モードで違いがあるとは前に書いたけど
    ANSIモード(SQL標準)だと、最初のように " と ' の使い
    分けで動作するようです。



    そう言えば、前にもバッククォート関係は出てきたんだった。
    そのときは識別子の記述方式の違いだった。
    No5459


    今回はリテラル関連

    8.1.1. 文字列
    http://dev.mysql.com/doc/refman/5.1/ja/string-syntax.html

    しかし、これを見る限りはそんな事は書いてないのだが・・・



    追加
    あれ? 最初に検索したページが出てこなくなった。
    これ
    http://dev.mysql.com/doc/refman/4.1/ja/string-comparison-functions.html
    を見ても、古い MySQL でも
    SELECT 'いあ' LIKE '%い%';
    SELECT 'イあ' LIKE '%い%';
    なんて記述されている。実物が無いとわからない。 (;_;)

    ちなみに PostgreSQL 7.2 では問題なく通ります。

引用返信 [メール受信/OFF] 削除キー/
■5591 / inTopicNo.13)  Re[11]: 日本語未対応?
□投稿者/ 尾形 -(2010/01/30(Sat) 10:44:04)
    ありがとうございます

    > *') FROM mst_tokui WHERE mei1 LIKE '%あ%' ; --
    やはり通りません

引用返信 [メール受信/OFF] 削除キー/
■5590 / inTopicNo.14)  Re[10]: 日本語未対応?
□投稿者/ hidetake -(2010/01/30(Sat) 10:33:43)
    > *') FROM mst_tokui WHERE mei1 LIKE "%あ%" ; --
    > これが通りません

    SQL の文字列リテラルの場合、" と ' で両方使える場合(DB)も
    あるけど、通常は ' で
    *') FROM mst_tokui WHERE mei1 LIKE '%あ%' ; --
    では、

    データベースオブジェクトは "" で括る場合が多いけど、文字列
    は '' と言う使い分け。

引用返信 [メール受信/OFF] 削除キー/
■5589 / inTopicNo.15)  Re[9]: 日本語未対応?
□投稿者/ 尾形 -(2010/01/30(Sat) 10:08:48)
    #count(&STR)で

    *') FROM mst_tokui WHERE mei1 LIKE "%a%" ; --
    これは通ります

    *') FROM mst_tokui WHERE mei1 LIKE "%あ%" ; --
    これが通りません

    ログを見ると
    SELECT COUNT('*') FROM mst_tokui WHERE mei1 LIKE "%') FROM・・・
    日本語までで切れています

    ODBC側の問題でしょうか?

引用返信 [メール受信/OFF] 削除キー/
■5588 / inTopicNo.16)  Re[8]: 外部dbで抽出件数の取得
□投稿者/ 尾形 -(2010/01/30(Sat) 08:23:29)
    > -- の後ろにスペースを入れ
    これで桐でも通りました ^^

    件数カウントのクエリと実際の抽出クエリと
    2回同じようなクエリが出る?けど
    実際の抽出クエリの方ではキャッシュが効いて
    速度的にもイイ感じのようでした

    この方法って最高ですよね!
    色々使えそうです

    5568の方も勉強してみます

引用返信 [メール受信/OFF] 削除キー/
■5587 / inTopicNo.17)  Re[8]: 外部dbで抽出件数の取得
□投稿者/ hidetake -(2010/01/30(Sat) 08:19:17)
    > -- の後ろにスペースを入れたら良いようでした
    >
    > --はオプション指定となる?
    >

    そうなんだ。
    # しかし脳に記憶させ続けることが出来るか > 自分

引用返信 [メール受信/OFF] 削除キー/
■5586 / inTopicNo.18)  Re[7]: 外部dbで抽出件数の取得
□投稿者/ hidetake -(2010/01/30(Sat) 08:15:27)
    > SELECT COUNT('*') FROM mst_tokui WHERE mst_tokui.simebi = 31 ; --') FROM `mst_syohin`
    > これはエラーとなりました
    >
    > 下記がエラーメッセージです
    >>ERROR: 引用符が閉じていません @ 3
    >>STR: '
    >>SQL: --') FROM `mst_syohin` ;

    '' を調整するために
    SELECT COUNT('*') FROM mst_tokui WHERE mst_tokui.simebi = 31 ; --'') FROM `mst_syohin`
    は?
    &STR だと
    *') FROM mst_tokui WHERE mst_tokui.simebi = 31 ; --'
    と言う感じ。
    しかし -- をコメントアウトとして見てくれないのかな?
    それだと、これらの方式は相当面倒くさいことになる。


    しかし、自分ももうろくしました。
    計算式に任意の SQL 文を実行させようとして、わざわざ
    #関数を使おうとするなんて・・・ orz

    素直に、計算式には &STR とやればよいのに!

    表示項目の1番目に「表示」という表示項目名で計算式に
    設定する。計算式は &STR
    実際の取得情報を表示されるために、2番目の項目を設定。
    項目名は「件数」、計算式は表示させるデータの型にあわせ
    件数であれば「1」とでも入れる。
    複数項目を取得したい場合は、以下にダミーの項目を作成し
    型をあわせる。

    &STR には
    件数',count(*) FROM mst_tokui WHERE mst_tokui.simebi = 31; --
    と言うように。

    # 一番目の項目に結果を得たいと脳が固定観念を持っている
    # からダメなんだ。 orz


引用返信 [メール受信/OFF] 削除キー/
■5585 / inTopicNo.19)  Re[7]: 外部dbで抽出件数の取得
□投稿者/ 尾形 -(2010/01/30(Sat) 08:10:15)
    -- の後ろにスペースを入れたら良いようでした

    --はオプション指定となる?

引用返信 [メール受信/OFF] 削除キー/
■5584 / inTopicNo.20)  Re[6]: 外部dbで抽出件数の取得
□投稿者/ 尾形 -(2010/01/30(Sat) 07:56:40)
    phpMyAdmin 上からSQL操作で確認してみました

    SELECT COUNT(*) FROM `mst_syohin` ;
    SELECT COUNT('*') FROM mst_tokui WHERE mst_tokui.simebi = 31 ;
    上記2つは動作しました

    SELECT COUNT('*') FROM mst_tokui WHERE mst_tokui.simebi = 31 ; --') FROM `mst_syohin`
    これはエラーとなりました

    下記がエラーメッセージです
    > ERROR: 引用符が閉じていません @ 3
    > STR: '
    > SQL: --') FROM `mst_syohin` ;


引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>
Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -