我有類似this one的問題,而是讀取(接受)答案沒有給我很大的啓示,所以我希望能夠更清楚地說明,並得到一個更清晰的迴應。使用的TableAdapter將行插入數據集沒有做任何事情
我試圖插入一個數據行插入表。我使用TableAdapter
的自定義「插入非查詢」,我寫了(它工作,我測試)接受一些參數。我對通過.NET與數據庫進行通信的業務相當陌生,而且我正在做的可能是錯誤的設計。我的問題是爲什麼錯了和什麼是做的正確方法?兩者同樣重要,IMO。
下面是一些示例VB代碼我寫道:
Dim arraysTableAdapter As New UnitTestsDataSetTableAdapters.ArraysTableAdapter
Try
arraysTableAdapter.InsertArray("Test Array", 2, 1, 2, "Test user")
Catch ex As SqlException
MsgBox("Error occured when trying to add new array." _
& vbNewLine & vbNewLine _
& ex.Message)
End Try
......這幾乎是它。沒有異常提出,我的表沒有得到一個新的行插入。一切都是我在調用InsertArray
方法之前的方式。當我使用相同的參數在QueryBuilder中測試我的查詢時,會將新行添加到數據庫中。現在
,我也瞭解一些這是行不通的原因。我明白,我需要創建併爲了告訴TableAdapter
什麼它添加數據來選擇我的DataSet
(不知道該怎麼做)一行。或者至少我通過閱讀論壇的廣闊深淵而獲得了這種印象。
我真的很想在某些時候使用TableAdapter
,因爲它知道.InsertArray
存在,它知道它喜歡哪個參數。我可以嘗試並使用
Dim con As New SqlConnection
Dim cmd As New SqlCommand
con.ConnectionString = connString
con.Open()
cmd.CommandText = "INSERT ...... all that jazz"
但它不夠乾淨,不夠乾淨,我喜歡我的代碼。那麼,有什麼辦法可以做我想做的事嗎?換句話說,如何使用TableAdapter
的整潔結構與我的DataSet
進行通信並在其中添加新行?
在此先感謝!
你不知道你的#2描述如何幫助我!這是唯一的參考IN_THE_ENTIRE_INTERNET,這表明這可能是一個問題。我試圖通過檢查數據源來驗證我的插入是否正在工作,而不是在/ bin/Debug /文件夾中的數據庫! #hateVb – Wes 2013-10-05 21:56:48
@Wes Awesome!很高興它幫助了某人。 – Phonon 2013-10-06 03:12:39