首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用vb.net将日期插入Server

如何使用vb.net将日期插入Server
EN

Stack Overflow用户
提问于 2016-12-29 04:44:40
回答 1查看 1.4K关注 0票数 0

这是我的代码,它将先将数据插入数据视图,然后再插入数据库。

当我运行代码时,我会得到错误。

操作数类型冲突位与日期不兼容。

有谁可以帮我?

提前感谢

代码语言:javascript
复制
    populate(txtRejectID.Text, comboBoxCardType.Text, txtEmbossName.Text, txt6CardNum.Text, txt4CardNum.Text, txtQuantity.Text, comboBoxErrorDesc.Text, embossDate.Text, txtStatus.Text)

    For Each row As DataGridViewRow In DataGridView1.Rows
            Dim query As String = "INSERT INTO dbo.RejectCard VALUES (@RejectID, @Card_Type, @Emboss_Name, @Card_Number, @Quantity, @Error_Description, @Emboss_Date, @Status)"

        Using conn As New SqlConnection(connString)
            Using cmd As New SqlCommand(query, conn)

                cmd.Parameters.AddWithValue("@RejectID", row.Cells("rejectid").Value)
                cmd.Parameters.AddWithValue("@Card_Type", row.Cells("cardtype").Value)
                cmd.Parameters.AddWithValue("@Emboss_Name", row.Cells("embossname").Value)
                cmd.Parameters.AddWithValue("@Card_Number", row.Cells("cardnumber").Value)
                cmd.Parameters.AddWithValue("@Quantity", row.Cells("quantity").Value)
                cmd.Parameters.AddWithValue("@Error_Description", row.Cells("errordescription").Value)
                cmd.Parameters.AddWithValue("@Emboss_Date", row.Cells("emboss_Date").Value = embossDate.Value.Date.ToString("dd/MM/yyyy"))
                cmd.Parameters.AddWithValue("@Status", row.Cells("status").Value)

                Try
                    conn.Open()
                    cmd.Connection = conn
                    cmd.ExecuteNonQuery()

                Catch ex As Exception
                    MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")
                Finally
                    conn.Close()
                End Try
            End Using
        End Using
    Next

    MessageBox.Show("Records inserted.")
End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-12-29 04:53:48

您插入日期的方式与插入其他任何内容的方式完全相同。问题是您没有插入Date。你在插入一个Boolean。看看你的代码。这是插入的值:

代码语言:javascript
复制
row.Cells("emboss_Date").Value = embossDate.Value.Date.ToString("dd/MM/yyyy")

这是一个平等的比较。等式比较的结果始终是Boolean,即如果值相等,则为True,如果不是,则为False。如果您想插入一个Date,那么提供一个Date,而不是一个来自网格行的值和一个String之间的比较。

你为什么不把这个参数做得和你要做的一样呢?你显然认为你在那里取得了一些成就,但我可以向你保证,你没有。如果您要做的是从您的DateTime值中删除时间,那么您可以通过获取Date属性来做到这一点,而不是将Date转换成String

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41373264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档