Re: [.NET] Insertcommand出現「必須宣告變數」的錯誤

看板Visual_Basic作者 (咖哩桔子)時間15年前 (2011/01/29 22:53), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
因為是使用odbc 所以參數要使用問號(?) INSERT INTO Parts (partid) VALUES(?) ※ 引述《mindscold (喵)》之銘言: : 請輸入專案類型(網站專案或者應用程式專案):vb.net 2010 : 請問我使用Insertcommand來做插入資料至sql資料庫時, : 總會出現「必須宣告變數」的錯誤 : 但我google過了,大家的寫法跟我都沒有什麼重要的差異 : 找不出來是哪裡出問題,請大家幫忙 : 程式碼如下: : Dim Cnn As New Odbc.OdbcConnection(●●●●●●●●) : Cnn.Open() : Dim sql As String = "SELECT * FROM Parts where partid = ''" : Dim da As New Odbc.OdbcDataAdapter : da.SelectCommand = New Odbc.OdbcCommand(sql, Cnn) : Dim ds As New DataSet : da.Fill(ds, "Parts") : Dim insertCmd As New Odbc.OdbcCommand("INSERT INTO Parts (partid) : VALUES (@partID)", Cnn) : insertCmd.Parameters.AddWithValue("@PartID", "aaaa") : da.InsertCommand = insertCmd : insertCmd.ExecuteNonQuery() : ^^^^^^^^^^^^^^^^^^^^^^^^^^ : 這行會出錯 : da.Update(ds, "Parts") : Cnn.Close() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.128.163

01/30 10:37, , 1F
補充一下:用OLEDB介面也是用問號當參數名稱
01/30 10:37, 1F

01/30 15:05, , 2F
解決了!感謝2位大大
01/30 15:05, 2F

02/02 13:03, , 3F
補充2:因為用問號, 所以傳值給參數的順序也要注意。
02/02 13:03, 3F
文章代碼(AID): #1DH2dHjA (Visual_Basic)
文章代碼(AID): #1DH2dHjA (Visual_Basic)