使用 linq 或 sql 在 VB.NET 中添加一行
Add a row using linq or sql in VB.NET
我正在开发一个应用程序,作为其中一个步骤,我需要将一组信息备份到 SQL 数据库。
我没有任何使用 SQL 的经验,希望我能找到一个简单的命令来添加一行我需要的信息...但我不明白我为它找到的大部分信息。我什至在使用 Visual Studio.
中提供的代码片段时遇到了问题
我尝试使用代码片段添加一行,这是生成的代码。
对 RDataSet.ArchivedIncidentsDataTable 的引用一直给我一条错误消息,告诉我 "object reference to non-shared object requires an object reference",对我来说,这是您可能收到的最没有帮助的错误消息之一。我不明白这意味着什么,或者我需要做什么才能修复它。
这是我的代码,基本上只是提供的代码片段:
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
我不确定为这么少量的代码填写字段是如何产生错误的。
还有,这段代码是运行之后,难道我不用运行一个更新数据库的命令吗?我一直在网上关注的指南都引用了类似的内容,但我不理解其中的其他部分。
我确定我遇到的问题是 "You didn't declare X." 的问题,但是我对 SQL 了解不多...如果这就是我正在使用的。
我将不胜感激一些指导。
我需要做的就是使用表单中的几个字段向数据库添加一行。
我有一个作为数据对象链接的在线 SQL 服务器,数据集名为 RDataSet,数据 table 名为 ArchivedIncidentsDataTable。
我在网上找到的少数指南提到了我没有的不同部分,例如数据适配器,和/或没有提到他们是如何到达那部分的……我完全迷路了。
是否有任何类型的单行命令我可以 运行 将我想添加到该数据库中的一行的信息发送出去?我不明白为什么要这么复杂...
编辑:
答案之一是将数据集的一个实例拖到表单上。
这样做并尝试引用它之后,我现在收到一条错误消息,告诉我:
"Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.
此消息出现在自动更正选项下,让我可以选择用 RDataset 替换我添加到表单中的数据集 RDataSet1。
将鼠标悬停在代码 "RDataSet1.ArchivedIncidentsDataTable.NewRow()" 上时,我仍然看到错误消息 "Object Reference requires an object reference"。
留言
object reference to non-shared object requires an object reference
意味着您正在尝试访问 class 的成员,就像它是共享成员一样,但事实并非如此,因此您需要 class 的实际实例(对象引用)。
如果您正在使用 WinForms
,您只需将 RDataSet
拖到 Form
上,它应该会在您的 Form
中生成一个名为 RDataSet1
或类似的东西(我假设你使用了 Visual Studio 的数据集设计器)。
然后使用 RDataSet1
(对象引用)代替 RDataSet
(类型)。
我正在开发一个应用程序,作为其中一个步骤,我需要将一组信息备份到 SQL 数据库。
我没有任何使用 SQL 的经验,希望我能找到一个简单的命令来添加一行我需要的信息...但我不明白我为它找到的大部分信息。我什至在使用 Visual Studio.
中提供的代码片段时遇到了问题我尝试使用代码片段添加一行,这是生成的代码。
对 RDataSet.ArchivedIncidentsDataTable 的引用一直给我一条错误消息,告诉我 "object reference to non-shared object requires an object reference",对我来说,这是您可能收到的最没有帮助的错误消息之一。我不明白这意味着什么,或者我需要做什么才能修复它。 这是我的代码,基本上只是提供的代码片段:
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
我不确定为这么少量的代码填写字段是如何产生错误的。
还有,这段代码是运行之后,难道我不用运行一个更新数据库的命令吗?我一直在网上关注的指南都引用了类似的内容,但我不理解其中的其他部分。
我确定我遇到的问题是 "You didn't declare X." 的问题,但是我对 SQL 了解不多...如果这就是我正在使用的。 我将不胜感激一些指导。 我需要做的就是使用表单中的几个字段向数据库添加一行。
我有一个作为数据对象链接的在线 SQL 服务器,数据集名为 RDataSet,数据 table 名为 ArchivedIncidentsDataTable。 我在网上找到的少数指南提到了我没有的不同部分,例如数据适配器,和/或没有提到他们是如何到达那部分的……我完全迷路了。
是否有任何类型的单行命令我可以 运行 将我想添加到该数据库中的一行的信息发送出去?我不明白为什么要这么复杂...
编辑: 答案之一是将数据集的一个实例拖到表单上。 这样做并尝试引用它之后,我现在收到一条错误消息,告诉我:
"Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.
此消息出现在自动更正选项下,让我可以选择用 RDataset 替换我添加到表单中的数据集 RDataSet1。
将鼠标悬停在代码 "RDataSet1.ArchivedIncidentsDataTable.NewRow()" 上时,我仍然看到错误消息 "Object Reference requires an object reference"。
留言
object reference to non-shared object requires an object reference
意味着您正在尝试访问 class 的成员,就像它是共享成员一样,但事实并非如此,因此您需要 class 的实际实例(对象引用)。
如果您正在使用 WinForms
,您只需将 RDataSet
拖到 Form
上,它应该会在您的 Form
中生成一个名为 RDataSet1
或类似的东西(我假设你使用了 Visual Studio 的数据集设计器)。
然后使用 RDataSet1
(对象引用)代替 RDataSet
(类型)。