- 總結問題
SELECT從 SQL Server陳述句讀取物件的屬性后將物件添加到串列中 - 我收到此錯誤:
System.InvalidCastException:'無法將'System.Int32'型別的物件轉換為'System.String'型別
包括有關您的目標的詳細資訊
- 我的目標是通過使用
SELECTT-SQL 陳述句從資料庫中讀取資產更改,將它們讀取并附加到串列中,并使用視圖中的串列顯示它們。
描述預期和實際結果
預期:沒有錯誤彈出。
實際:彈出前面提到的錯誤。
包括任何錯誤訊息
- 前面已經提到了。
- 描述你嘗試過的東西
展示您嘗試過的內容并告訴我們您發現了什么(在本網站或其他地方)以及為什么它不能滿足您的需求。當您提供研究時,您可以獲得更好的答案。
https://stackoverflow.com/a/3081940/13510906
將值作為整數獲取,然后將其轉換為字串。
//UserID = reader.GetString(0),
//AssetID = reader.GetString(1),
UserID = reader.GetInt32(0).ToString(),
AssetID = reader.GetInt32(1).ToString(),
- 確保變數
UserID和AssetID使用int
仍然會彈出相同的錯誤。
- 顯示一些代碼
在適當的時候,分享其他人重現您的問題所需的最少代碼量(也稱為最少的可重現示例)
我不知道如何在不以某種方式破壞專案的情況下生成最小示例。
有下載專案的鏈接。下載后,解壓并運行。
電子郵件地址和密碼分別是[email protected]和john123。您應該會在頂部導航欄上看到“資產歷史記錄”。單擊它以產生問題。
uj5u.com熱心網友回復:
由于您的變數/屬性都是整數,因此不應將它們轉換為字串:
UserID = reader.GetInt32(0),
AssetID = reader.GetInt32(1),
如果您以后需要將它們添加到字串串列中,您可以ToString在那里呼叫 ( UserID.ToString(), AssetID.ToString())
uj5u.com熱心網友回復:
Method (Int32) 需要一個整數(列GetString索引)作為引數。
UserID = reader.GetString(reader.GetOrdinal("Column Name")),
AssetID = reader.GetString(reader.GetOrdinal("Column Name")),
uj5u.com熱心網友回復:
您不能將字串隱式分配給整數,您需要決議字串,在這種情況下使用 int.Parse
你的代碼可以是這樣的:
UserID = int.Parse( reader.GetInt32(0).ToString());
AssetID = int.Parse(reader.GetInt32(1).ToString());
有關更多資訊,請點擊此鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/419438.html
標籤:
上一篇:Symfony\Component\Config\Definition\Exception\InvalidTypeException:路徑“doctrine.dbal”的型別無效。預期“陣列
