2

使用: VS2010、SQL Server 2008R2 の CR

SQL Server で実行すると結果を返す SP がありますが、これを CR に追加すると、フィールド エクスプローラーにフィールドが表示されません。しかし、他のSPを試してみると、うまく機能し、そのフィールドを見ることができます。私が実行している手順:

  1. 既存の CR を開く
  2. データベース フィールドを右クリック --> データベース エキスパート --> 古い SP を削除 --> 新しい SP を追加
  3. [値の入力] ポップアップ ウィンドウが表示されます。すべてを NULL に設定し、[OOK] をクリックします。
  4. 新しい SP がデータベース エキスパートの右側に表示されます
  5. フィールド エクスプローラーの [データベース フィールド] セクションに新しい SP が表示されます。
  6. ただし、その横にPLUS +サインはありません。つまり、フィールドは表示されません。

実際、新しい SP と古い SP はどちらも同じ数のフィールドを持っています。いくつかのSQLが変更されました。

これに腹を立てて..助けてください。

ありがとう

4

3 に答える 3

4

データベース内のストアド プロシージャを変更した後、Crystal Report 内のストアド プロシージャを更新する方法。

このプロシージャは、データベースのストアド プロシージャにパラメータを追加した場合にも使用できます。

  1. SP が、SP 内の別の SP を介してではなく、データセットを返すことを確認してください。

    元。これは機能しません: @sql = 'select * from sometable' exec(@sql)

    この場合は、SP の最後に select ステートメントを一時的に追加します。

    @sql = 'テーブル 1 から列 1、列 2 を選択' exec(@sql)

    table1 から column1、column2 を選択

  2. Crystal Report のフィールド エクスプローラーで、SP を右クリックし、DataSource の場所を設定します。DB への接続の詳細を入力します。

    • 既存の SP と新しい DB 接続からの SP を選択し、[更新] ボタンをクリックします。
  3. CR メニューで、データベース -> データベースの検証

  4. データベースが検証されたら、Step1 から一時的な select ステートメントを削除します。

于 2013-06-24T11:53:50.267 に答える
0

左側のサブレポート リンクで Crystal が行うデフォルトの選択を受け入れないことで取得しました。私はそれを自分のものに変更する必要があり、デフォルトを使用しませんでした。

それはうまくいきました。ありがとう

于 2012-05-04T02:49:49.543 に答える