Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ASP.net向MS Access添加数据_Asp.net_Vb.net_Ms Access_Ado.net - Fatal编程技术网

使用ASP.net向MS Access添加数据

使用ASP.net向MS Access添加数据,asp.net,vb.net,ms-access,ado.net,Asp.net,Vb.net,Ms Access,Ado.net,我的学校项目是建立一个网站,人们可以在那里出售/购买旧的学校用品,如计算器等。我在Microsoft Visual Studio中使用ASP.net和vb.net 我的问题是,我不知道如何将网站上填写的数据添加到MS Access数据库文件中。问题是信息分布在两个表中 我曾尝试使用两种不同的SQL语句,每个表使用一种,但这也行不通。我已经改变了数据库的格式,我认为现在的问题是输入两个表之间的关系,但我不知道如何输入 我现在正在运行这个代码 Protected Sub bntVerzend

我的学校项目是建立一个网站,人们可以在那里出售/购买旧的学校用品,如计算器等。我在Microsoft Visual Studio中使用ASP.net和vb.net

我的问题是,我不知道如何将网站上填写的数据添加到MS Access数据库文件中。问题是信息分布在两个表中

我曾尝试使用两种不同的SQL语句,每个表使用一种,但这也行不通。我已经改变了数据库的格式,我认为现在的问题是输入两个表之间的关系,但我不知道如何输入

我现在正在运行这个代码

    Protected Sub bntVerzenden_Click(sender As Object, e As EventArgs) Handles bntVerzenden.Click



    Dim VerkopenConn As New OleDb.OleDbConnection
    Dim VerkopenCommArtikel, VerkopenCommGebruiker As New OleDb.OleDbCommand

    VerkopenConn.ConnectionString = My.Settings.SvShopConnection
    VerkopenCommArtikel.Connection = VerkopenConn
    VerkopenCommGebruiker.Connection = VerkopenConn

    'Gebruiker gegevens aan de database toevoegen
    VerkopenCommGebruiker.CommandText = "INSERT INTO tblGebruiker (GebruikersNaam, GebruikersVoornaam, GebruikersEmail, GebruikersGSM) VALUES (@GebruikersNaam, @GebruikersVoornaam, @GebruikersEmail, @GebruikersGSM)"

    VerkopenCommGebruiker.Parameters.AddWithValue("@GebruikersNaam", txtNaam.Text)
    VerkopenCommGebruiker.Parameters.AddWithValue("@GebruikersVoornaam", txtVNaam.Text)
    VerkopenCommGebruiker.Parameters.AddWithValue("@GebruikersEmail", txtEmail.Text)
    VerkopenCommGebruiker.Parameters.AddWithValue("@GebruikersGSM", txtGsm.Text)

    'Artikel gegevens aan de database toevoegen
    VerkopenCommArtikel.CommandText = "INSERT INTO tblArtikel (ArtikelBeschrijving, ArtikelPrijs, RubriekNaam, ArtikelAankoopdatum, ArtikelTekoopgezet, ArtikelBeschikbaar) VALUES ( @ArtikelBeschrijving, @ArtikelPrijs, @RubriekNaam, @ArtikelAankoopdatum, @ArtikelTekoopgezet, @ArtikelBeschikbaar)"

    VerkopenCommArtikel.Parameters.AddWithValue("@ArtikelBeschrijving", txtArtikelBeschrijving.Text)
    VerkopenCommArtikel.Parameters.AddWithValue("@ArtikelPrijs", txtArtikelPrijs.Text)
    VerkopenCommArtikel.Parameters.AddWithValue("@RubriekNaam", lstRubriek.SelectedItem.ToString)
    VerkopenCommArtikel.Parameters.AddWithValue("@ArtikelAankoopdatum", CalAankoop.SelectedDate)
    VerkopenCommArtikel.Parameters.AddWithValue("@ArtikelTekoopgezet", calVerkoop.SelectedDate)
    VerkopenCommArtikel.Parameters.AddWithValue("@ArtikelBeschikbaar", True)

    If VerkopenConn.State = ConnectionState.Closed Then VerkopenConn.Open()
    VerkopenCommGebruiker.ExecuteNonQuery()
    VerkopenCommArtikel.ExecuteNonQuery()






End Sub
末级

在第二次执行查询时出现此错误:

System.Data.dll中发生“System.Data.OleDb.OledBeException”类型的异常,但未在用户代码中处理

其他信息:无法添加或更改记录,因为表“tblGebruiker”中需要相关记录

第一个查询起作用,该数据已添加到数据库中

下面是数据库关系


您的第一个异常是因为查询中缺少一列。第二个异常可能是由于您在
tblArtikel
tblRubriek
之间定义了一对一的关系造成的。在本例中,您需要将关系更改为一对多以允许重复
tblRubriek
将是“一”面,而
tblArtikel
将是“多”面。因为在
tblRubriek
中有一个主键,它与
tblArtikel
中的“多”行关联

它运行时是否会出现任何错误?另外,您可以发布一些有关access数据库的详细信息吗?您在第二次查询的列部分缺少了
RubriekID
。@amber编辑了代码并编辑了问题。@这些关系可以在这篇文章中看到。@ThimoDemey是的,我后来又看到了。作为测试,尝试删除
tblArtikel
tblGebruiker
之间的关系。然后运行查询。因此,在“tblArtikel”中,我必须使用“RubriekNaam”而不是“RubriekID”,并在“tblRubriek”中建立与“RubriekNaam”的关系,对吗?
RubriekID
不是
tblArtikel
中的主键,因此插入它应该没有问题,但您需要提到它需要被插入“在tblArtikel(RubriekID、ArtikelBeschrijving、Artikelaprijs、Artikelaaankoopdatum、ArtikelTekoopgezet)中插入值(@RubriekID、@ArtikelBeschrijving、@Artikelaprijs、@Artikelaaankoopdatum、@ArtikelTekoopgezet)“@ThimoDemey对不起。正如我上面提到的,Amber发布的查询是您应该有的。但您定义的关系可能是问题所在。我已更改了查询,但仍有相同的错误。