Vb.net 正在尝试从数据集保存到数据库-工作不太好

Vb.net 正在尝试从数据集保存到数据库-工作不太好,vb.net,oledbcommand,Vb.net,Oledbcommand,我有一个报告,我填充了一个数据表和数据集,还有两个crystal报告,这些都可以工作。我正在尝试将我的更新从datatable返回到数据库中——我在各地看到了太多不同的代码,我也尝试过使用它,但我认为这可能让我感到困惑,而不是帮助 Private Sub BtnUpdate_Click(sender As System.Object, e As System.EventArgs) Handles BtnUpdate.Click Me.Validate() Dim cndl A

我有一个报告,我填充了一个数据表和数据集,还有两个crystal报告,这些都可以工作。我正在尝试将我的更新从datatable返回到数据库中——我在各地看到了太多不同的代码,我也尝试过使用它,但我认为这可能让我感到困惑,而不是帮助

  Private Sub BtnUpdate_Click(sender As System.Object, e As System.EventArgs) Handles BtnUpdate.Click
    Me.Validate()
    Dim cndl As New OleDbConnection(ConnectionStrings("deputylog").ConnectionString)

    Dim Command = New OleDbCommand("UPDATE Case_log.SCRNO, Case_log.JOBNO, Case_log.DEPUTY, Case_log.VICTIM_COMPLAINT, " & _
      "Case_log.TYPE_INVEST, Case_log.WHERE, Case_log.REPORT_DATE, Case_log.ARREST_DATE, Case_log.REPORT_CODES, " & _
      "Case_log.EVIDENCE_SECURED, Case_log.REVIEW_DATE, Case_log.DISP_DATE, Case_log.STATUS, Case_log.SUPP_REPT_DATE ", cndl)
    cndl.Open()
    Command.ExecuteNonQuery()


    'adaptor1.UpdateCommand = Command
    MsgBox("Update Successful")

更新字符串与选择字符串相同,但在尝试更新时出现语法错误。任何想法都会很有帮助。谢谢大家!

您只是想更新数据库中的一行吗?该语句不是update语句的正确SQL语法

在T-Sql中,基本update语句的格式如下:

Update table CASE_LOG set scrno = [some value], deputy = [some value], ...
where id = [some id]
在本例中,您正在更新case_log表,并将字段设置为提供的值,其中行的id等于标识它的内容。在您的代码中,您需要将其格式化为sql的此格式,以下是帮助您入门的伪代码:

Dim command = New OleDbCommand(string.format("Update Table case_log set scrno = {0}, jobno = {1}, deputy = {2} where id = '[someid]'", scrno.ToString(), jobno.ToString(), deputy.ToString()), cnd1)

所以从我的datagridview来看,这个值应该是该单元格中的值,对吗?看起来我需要学习如何引用该值。您可以为您试图从中获取值的单元格添加代码吗?它是一个表、datagrid、第三方控件还是其他?我已经取得了进展-我现在可以更新我的列,遗憾的是它将我的副手列更新为“0”,但它确实会更新回数据库!