SQLServerでの項目名について

1,924 views
Skip to first unread message

tok

unread,
Jul 5, 2016, 5:56:53 AM7/5/16
to RapidReportサポート QAフォーラム
お世話になります。

Rapidreportでは、DBの項目名に制限があるのでしょうか?

項目の名前に 括弧 "("   ")"  などを使用していると 「プレビュー」->「DB取得」した時にうまく抽出出来ません。
SQLServerの項目名に括弧が入っているとダメなのでしょうか?

例えば、
SQLのWHERE文で
Where [(1)日付] =  160701
としているとデータが0件で返ってきます。

[(1)日付]に別名 [日付1] をつけて
Where [日付1] =  160701
としてもデータ0件で返ってきます。

Where文を外すと問題無く返ってきます。


そもそも項目名に括弧を使っている時点でダメだとは思いますが・・・

よろしくお願いいたします。

RapidReport

unread,
Jul 5, 2016, 8:25:07 PM7/5/16
to RapidReportサポート QAフォーラム
伊藤です。ご質問ありがとうございます。

列名に特に制限は設けていません。
先ほどこちらで試したところ、カッコが含まれている列があっても、問題なく動作しました。

データ0件で返ってくる、というのはレコードが1行も返ってこないということでしょうか?
またその際、レコード数が0行であっても列名は得られるはずなのですが、
列名も得られない、という状況でしょうか?

単にレコード数が0行になってしまうのであれば、SQLServerが検索を行えていないのではないかと思われます。
例えば、列の型などは合っていますでしょうか?

お手数ですが、同じクエリを SQL Server ManagementStudio などの他クライアントから実行して頂き、
想定通りの結果が返ってくるかどうかをお試しください。
同じクエリで、ManagementStudioからはレコードが得られるが、
RapidReportからは得られないということであれば、ご連絡頂けますと幸いです。
Message has been deleted
Message has been deleted

tok

unread,
Jul 7, 2016, 2:40:59 AM7/7/16
to RapidReportサポート QAフォーラム
伊藤様。ありがとうございます。

開発環境のDBに検索していた日付のデータが入っていませんでした。
本番環境にデータはあったのですが・・・
お騒がせして申し訳ありません。

別に投稿を変えた方がいいのかもしれませんが、続きで質問です。

列名に括弧が入っている列の場合、Rapidreportにフィールドを追加しても
プレビーすると表示されずエラーがでます。

例えば列名 (1)受注日付 の場合

フィールド・式の所に「.(1)受注日付」と入れて、プレビューすると
 フィールド: 空白
 タブに: 「 ←エラーが発生しています。logを確認してください。 」と表示。
 logの内容: 「 ')受注日付' は予期せぬ文字です : .(1)受注日付 」
となります。

列名に括弧がある場合の制限があるでしょうか?
また回避方法はありますか?

よろしくお願いいたします。

RapidReport

unread,
Jul 10, 2016, 7:18:13 PM7/10/16
to RapidReportサポート QAフォーラム
伊藤です。返信が遅れました。

確かに、式上ではカッコがオペレータの呼び出しと評価されてしまうために、
正しく動作しなくなってしまいます。

現状では、これを回避する方法はありません。
すみませんが、別名をつけるなどして対応して頂くよう、お願いします。
Reply all
Reply to author
Forward
0 new messages