【问题标题】:Data inserted in two different rows插入两个不同行的数据
【发布时间】:2018-02-23 00:51:02
【问题描述】:

我正在尝试将原始数据和时间戳插入数据库。数据和时间戳都必须在一行中。但是,保存后,它们似乎被插入到两个不同的单元格中,如图所示的两个不同的行。

代码是用 Visual Basic 和 asp.net 编写的。

Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "& Server.MapPath("dbase/DB.mdb"))

    Protected Sub btnUSsave_Click(sender As Object, e As EventArgs) Handles btnUSsave.Click

        Dim cmd As New OleDbCommand("insert into Quest(US1)values(@a1)", cn)
        cmd.Parameters.AddWithValue("a1", TextBox1.Text)

        Dim time1 As New OleDbCommand("INSERT INTO Quest(TimeUS1) VALUES (Time())", cn)

        cn.Open()
        cmd.ExecuteNonQuery()
        time1.ExecuteNonQuery()
        cn.Close()

        Response.Redirect("CountryA2Desc.aspx")

    End Sub

关于如何将数据排成一行的任何想法?

【问题讨论】:

  • 您正在执行两个INSERT 语句,所以当然您插入了两行。如果要插入一行,则执行一条INSERT 语句。另一种选择是一个INSERT 和一个UPDATE,但是当一个INSERT 同时具有这两个值更容易时,为什么要这样做呢?

标签: asp.net vb.net ms-access


【解决方案1】:

正如评论,您只需要使用一个插入语句而不是两个。这应该适合你

Protected Sub btnUSsave_Click(sender As Object, e As EventArgs) Handles btnUSsave.Click

    Dim cmd As New OleDbCommand("insert into Quest(US1,TIMEUS1) values(@a1,Time())", cn)
    cmd.Parameters.AddWithValue("a1", TextBox1.Text)

    cn.Open()
    cmd.ExecuteNonQuery()
    cn.Close()

    Response.Redirect("CountryA2Desc.aspx")

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多