2015-02-10 20 views
0

我正在開發一個應用程序,並且作爲其中一個步驟,我需要將一組信息備份到SQL數據庫。在VB.NET中使用linq或sql添加行

我沒有任何使用SQL的經驗,並希望我能找到一個簡單的命令,只需添加一行信息我需要...但我不明白的信息我很多找到了它。我甚至在使用Visual Studio中提供的代碼片段時遇到了問題。

我嘗試使用該代碼段添加一行,以下是生成的代碼。

對RDataSet.ArchivedIncidentsDataTable的引用不斷給我一個錯誤消息,告訴我「非共享對象的對象引用需要對象引用」,對我而言,這是您可能收到的最不有用的錯誤消息之一。我不明白這意味着什麼,或者我需要做些什麼才能解決問題。 這裏是我的代碼,這基本上是商提供的,該片段:我不知道怎麼在田裏爲填補這個代碼少量產生的錯誤

Private Sub Save_SQLBackup_Info() 
     Dim newRow = CType(RDataSet.ArchivedIncidentsDataTable.NewRow(), RDataSet.ArchivedIncidentsRow) 
    newRow.CustomerID = "A124" 
    newRow.CompanyName = "Acme" 
    RDataSet.ArchivedIncidentsDataTable.Rows.Add(newRow) 

End Sub 

另外,在運行這段代碼之後,我不必運行命令來更新數據庫嗎?我一直在網上關注的指南都引用了這樣的內容,但我不瞭解其他部分。

我確定我遇到的問題是「您沒有聲明X.」,但是我對SQL不太瞭解......如果那就是我正在使用的。 我將不勝感激一些指導。 我需要做的就是使用表單中的幾個字段向數據庫添加一行。

我有一個在線SQL服務器鏈接爲數據對象,並且數據集標題爲RDataSet,數據表標題爲ArchivedIncidentsDataTable。 我在網上找到的一些指南引用了不同的部分,比如數據適配器,我沒有這些部分,並且/或者不參考他們如何得到那部分......我完全失去了。

是否有任何一種可以運行的單行命令,只會將我想要添加到行中的信息發送到此數據庫中?我不明白爲什麼它必須是複雜的...

編輯: 答案之一是將數據集的一個實例拖到窗體上。 這樣做,並試圖引用它之後,我現在得到一個錯誤信息,告訴我:

"Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. 

下的自動更正選項出現此消息,並給我的選擇,以取代我添加到數據集形式RDataSet1與RDataset。

將鼠標懸停在代碼「RDataSet1.ArchivedIncidentsDataTable.NewRow()」上時,仍然看到錯誤消息「對象引用需要對象引用」。

+0

謝謝你的建議,我現在把一些句子分成段落格式,這樣他們會更容易閱讀。 – schizoid04 2015-02-10 17:04:20

回答

0

消息

對象引用非共享對象需要的對象引用

意味着你想就像是一個共享成員訪問類的成員,但它不是,所以你需要一個實際的類的實例(一個對象引用)。

如果您使用WinForms,你可以將一個RDataSet到您Form,它應該在你的Form稱爲RDataSet1產生一個字段或類似的東西(我asumme你使用Visual Studio中的DataSet設計器)。

然後使用RDataSet1(對象引用)而不是RDataSet(該類型)。

+0

謝謝你的提示。我沒有這樣做,所以我在我的工具箱下找到了RDataSet選項,並將它拖到窗體中。 我現在仍然收到錯誤消息(編輯主文章),但現在我也看到一個自動更正選項來替換RDataSet與RDataSet。 – schizoid04 2015-02-10 17:08:30

+0

此外,非常感謝**解釋了作爲對象引用的RDataSet1和作爲類型的RDataSet之間的區別。這對我來說很有意義。 – schizoid04 2015-02-10 17:28:51

+0

我已經開始工作了,謝謝! – schizoid04 2015-02-12 05:11:05