台灣最大程式設計社群網站
線上人數
874
 
會員總數:240139
討論主題:186200
歡迎您免費加入會員
討論區列表 >> ASP.NET >> System.Decimal' 的物件轉換為類型 'System.String'"的錯誤
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
System.Decimal' 的物件轉換為類型 'System.String'"的錯誤
價值 : 10 QP  點閱數:203 回應數:7

樓主

小K
門外漢
0 7
68 10
發送站內信

各位好
當我程式碼加入以下程式碼會出現"無法將類型 'System.Decimal' 的物件轉換為類型 'System.String'"的錯誤
其實dr0.GetString(13)不是N就是Y 今天我只是要dr0.GetString(13)=N 執行A程式 dr0.GetString(13)=Y執行B程式
為什麼會有這個困擾?







搜尋相關Tags的文章: [ System.Decimal' 的物件轉換為類型 'System.String'"的錯誤 ] ,
本篇文章發表於2017-07-11 08:55
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

小K
檢舉此回應
嚴格來說是 string u = dr0.GetString(13); 這段有問題
本篇文章回覆於2017-07-11 09:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

topcat
捐贈 VP 給 topcat 檢舉此回應

您要取值,應該是類似這樣

^.^a
本篇文章回覆於2017-07-11 10:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
可能column idx 13與您預期的欄位不同
建議您用欄位名稱來取值,比較容易懂,也不易出錯
^.^a
本篇文章回覆於2017-07-11 10:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

MIS2000 Lab
檢舉此回應
您的資料表,這個欄位似乎是 Decimal資料型態
所以轉成String出錯了

可以透過 Convert.ToString 方法 (Decimal) 試試看
請看原廠說明(中文)
https://msdn.microsoft.com/zh-tw/library/59095yyw(v=vs.110).aspx


另外,電腦從零算起
dr0.GetString(13),其實是第十四個欄位喔
要不要對照一下,是否抓錯欄位?
本篇文章回覆於2017-07-11 10:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

小K
檢舉此回應
謝謝 !! 各位的建議晚點試試看~
我知道是從0開始算起..謝謝提醒 !!
本篇文章回覆於2017-07-11 11:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

小魚
檢舉此回應
也許你算錯欄位了,
欄位那麼多很容易算錯,
你也可以直接用欄位名稱,



而且要看你資料庫的類型是用什麼類型。
本篇文章回覆於2017-07-11 12:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

小K
檢舉此回應
謝謝各位 後來換了一個邏輯思維去編譯這程式
以上各位前輩的提醒我都有聽進去,我真的確定欄位部分都沒有錯(不然我不敢上來問ㄒ.ㄒ)
後面有去使用 Convert來轉換~
本篇文章回覆於2017-07-12 14:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.