我用兩個輸入引數構建了一個存盤程序,希望將它填充到我的 DataGridView 系結的資料表中。
我用來填充資料表的 Visual Basic 代碼如下所示:
With adSearch.SelectCommand
.Parameters("trace_txn_no").Value = // Text Value
End With
Me.adSearch.Fill(Me.DsTraceMixPack.trace_rtn_dtl)
存盤程序如下所示:
ALTER PROCEDURE sp_RTN_DTL_Trace
(@trace_txn_no varchar(12),
@stock_code varchar(8) = '')
AS
BEGIN
-- Select Data Here
END
當我輸入單行進行選擇時,例如
SELECT
'00546599' AS mixtxnno,
'000000513761' AS txn_no,
'81050119' AS stock_code,
5 AS qty,
'20022' AS to_loc,
'2021-09-06' AS txn_date,
3 AS onhand_qty,
'Department A' AS txn_loc
資料網格視圖作業正常。
但是當我使用臨時表時,例如
CREATE TABLE #report
(
mixtxnno varchar(12),
txn_no varchar(20),
stock_code varchar(8),
qty int,
to_loc varchar(5),
txn_date datetime,
onhand_qty int,
txn_loc varchar(12)
);
INSERT INTO #report(mixtxnno,txn_no, stock_code,qty, to_loc, txn_date, onhand_qty, txn_loc)
VALUES ('00546599', '000000513761', '81050119', 5, '20022', '2021-09-06', 3, 'Department A')
SELECT
mixtxnno AS mixtxnno,
txn_no AS txn_no,
stock_code AS stock_code,
qty AS qty,
to_loc AS to_loc,
txn_date AS txn_date,
onhand_qty AS onhand_qty,
txn_loc AS txn_loc
FROM
#report
datagridview 停止作業,當我跟蹤 DataTable 'trace_rtn_dtl' 的結果屬性時,它會拋出此訊息
System.Linq.SystemCore_EnumerableDebugViewEmptyException
截圖:

為什么會發生這種情況,我該如何解決?我希望對多個資料進行一些操作并將它們回傳到 DataGridView,我選擇在存盤程序中使用臨時表。謝謝
uj5u.com熱心網友回復:
我找到了解決方案
如果任何使用存盤程序的人在使用臨時表時不回傳記錄集,這可能會有所幫助。
在存盤程序的第一個添加它。
SET NOCOUNT ON
似乎發生的是在操作臨時表、分配變數等時生成了空的 RecordSet。
使用“ SET NOCOUNT ON”可以防止生成這些空集,您只需在程式結束時將其設定為關閉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/361785.html
上一篇:如何根據名稱作為變數查找工具條項,然后更改它的檢查值
下一篇:關聯/關聯兩個數字向上按鈕
