2017-01-19 11 views
0

SQL管理スタジオで動作しているクエリがありますが、SSRS/Visual Studioを実行すると「データセットdataset1の次のデータ行を読み取ることができません。エラー私はSSRSのためにこれを実行すると、「数値にはデータセットの次のデータ行を読み取ることができません

select 

    concat(
    right(replace(oe_hdr.po_no, '-', ''),8), 
    right(concat('000',job_price_line.line_no),3), 
    format(oe_pick_ticket_detail.unit_quantity, '00000000'), 
    cast(job_price_line.customer_part_no as char(20)), 
    oe_pick_ticket.invoice_no) as [po/line/release/qty/cust part no as 20 characters/invoice] 




    from oe_pick_ticket 

join oe_pick_ticket_detail on oe_pick_ticket_detail.pick_ticket_no = oe_pick_ticket.pick_ticket_no 
join oe_hdr on oe_hdr.order_no = oe_pick_ticket.order_no 
join job_price_hdr on oe_hdr.job_price_hdr_uid = job_price_hdr.job_price_hdr_uid 
join job_price_line on job_price_line.inv_mast_uid = oe_pick_ticket_detail.inv_mast_uid and job_price_line.job_price_hdr_uid = oe_hdr.job_price_hdr_uid 
join ship_to on ship_to.ship_to_id = oe_hdr.address_id 
join branch on branch.branch_id = ship_to.default_branch 
join customer on customer.customer_id = oe_hdr.customer_id 

where oe_pick_ticket.invoice_no in ('1218972', '1218983') 
and job_price_line.row_status_flag != '705' 
and oe_pick_ticket_detail.ship_quantity > '0' 

enter image description here

をデータ型はnvarcharに変換しかし - と、私はこのように私のwhere句に複数のパラメーターを追加します。

where oe_pick_ticket.invoice_no in (@invoiceno1, @invoiceno2, @invoiceno3, 
    @invoiceno4, @invoiceno5, @invoiceno6, @invoiceno7 ,@invoiceno8, 
@invoiceno9, @invoiceno10, @invoiceno11, @invoiceno12, @invoiceno13, 
@invoiceno14, @invoiceno15, @invoiceno16, @invoiceno17, @invoiceno18, 
@invoiceno19, @invoiceno20) 
     and job_price_line.row_status_flag != '705' 
     and oe_pick_ticket_detail.ship_quantity > '0' 

それは私が私が私のすべてのパラメータにnullの表現を可能にしていたことが判明

enter image description here

+0

テーブル内の 'invoice_no'、' row_status_flag'、 'ship_quantity'の型をチェックし、SAME型のパラメータを使用していること、そしてそれらのパラメータを正しく埋めることを確認してください。 –

+0

'oe_pick_ticket.invoice_no'のデータ型は何ですか? –

+0

あなたのデータセットはnvarchar値を返しているようですが、データを処理しているときにそれに対して算術演算を実行しようとしているため、エラーが発生します。その列を使っている式で 'CDBL(Fields!YourField.Value)'を使ってみてください。 –

答えて

0

エラーを返します。これは私の問題を解決しました。

関連する問題