iT邦幫忙

0

dotNet WebForm Gridview 執行刪除,預存程序或系統指定太多引數

  • 分享至 

  • xImage

如題,

在修改某一支程式時,
因為功能需求所以我在GridView的DataKeyNames有新增兩個參數,
假設DataKeyNames如下,B, C是我新增的。
DataKeyNames="A ,B, C"

刪除時執行抓的參數是
Session[] = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
用監看式確認過,得到的結果是我想要的。

而sqldatasource執行delete時,
傳入的參數只有DatakeyNames 的 A 並無 B, C。

執行後就出現了"預存程序或系統指定太多引數"。

如果把B, C從DataKeyNames中刪除,
或是SP增加傳入B, C的參數,
就能正常執行,
但是我在sqldatasource那邊還是只傳A。

想請問一下背後的原理與原因為何呢?
嘗試去Stack Overflow爬了些文
大多都是參數多一個或少一個導致而成,
並沒有像我這樣的…
關鍵字我用:Procedure or function xxx too many arguments specified

菜鳥工程師,只能錯中學,麻煩各位解惑,謝謝!

Homura iT邦高手 1 級 ‧ 2019-04-18 17:13:39 檢舉
程式碼貼出來...
yorklin iT邦新手 5 級 ‧ 2019-04-18 17:47:42 檢舉
傳的參數涉及敏感資料,
如果真的需要,
我趕完手邊臨時的案子再修改附上…
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答