2016-12-14 6 views
0

まず、このWebサイトを効率的にするすべてのプログラマーに感謝します。私が得たVBのプログラミング知識の80%は、このWebページのすべてのサンプルと回答のためだと言って誇りに思います。とにかく、私は自分の会社のための品質管理アプリケーションを開発しています。私のフォームの1つにdatagridviewがあります。ユーザーはそれを変更することができます。その後、MS Accessデータベースにデータグリッドを保存する必要があります。私はすべてを試して、私はデータベースに日付フィールドを保存することはできません。 DataGridViewの日付セルをデータベースの不一致エラーに更新するVb.net

はあなたの助けの人たちのためにあなたをとても感謝文字列

Try 
     For i As Integer = 0 To dataAddemdumView.RowCount - 1 

      sql = "UPDATE MasterRecordsT SET Fecha = '" & dataAddemdumView.Rows(i).Cells("Fecha").Value & "', Pass = " & dataAddemdumView.Rows(i).Cells("Pass").Value & ", Fail = 
      " & dataAddemdumView.Rows(i).Cells("Fail").Value & ", Employee = " & dataAddemdumView.Rows(i).Cells("Employee").Value & ", Gig = " & dataAddemdumView.Rows(i).Cells("Gig").Value & ", GigNotes = 
      '" & dataAddemdumView.Rows(i).Cells("GigNotes").Value & "', Department = '" & dataAddemdumView.Rows(i).Cells("Department").Value & "' WHERE ID = " & dataAddemdumView.Rows(i).Cells("ID").Value & "" 

      cmd = New OleDbCommand(sql, con) 
      con.Open() 
      da.UpdateCommand = con.CreateCommand() 
      da.UpdateCommand.CommandText = sql 
      da.UpdateCommand.ExecuteNonQuery() 
      con.Close() 
     Next 
    Catch ex As Exception 
     con.Close() 
     'MessageBox.Show("OPEX Quality encountered a problem, Try to reopen the application to solve issues", "Error 0002", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 
として

点心のSQLを:私はここで私が持っているものであるフィールドの書式設定をチェックし、データベーステーブルは、「日付/時刻」 にフォーマットされています!

+0

として

薄暗いSQLの作品の更新はそれよりもはるかに簡単です - 'にデータソースとしてのDataTableを使用してデータアダプター。それを更新してください。 SQL文字列のティックがテキストに変換されているため、DB内のすべてが文字列ではないため、データ型の不一致が発生する可能性があります。 – Plutonix

+0

DGVのソースは3つのテーブルそして、私はそれらのフィールドが1つのメインテーブルに保存される必要があります。私のDGVには18のフィールドがあります。 – JCLD

+1

次にパラメータを使用してみます。 – Bugs

答えて

0

のでDGVから、これは最終的なコードになりますし、それが文字列

Try 
     For i As Integer = 0 To dataAddemdumView.RowCount - 1 

      If Not dataAddemdumView.Rows(i).Cells("Fecha").Value Is DBNull.Value Then 
       sql = "UPDATE MasterRecordsT SET Fecha = '" & dataAddemdumView.Item("Fecha", i).Value & "', Pass = " & dataAddemdumView.Rows(i).Cells("Pass").Value & ", Fail = 
      " & dataAddemdumView.Rows(i).Cells("Fail").Value & ", Employee = " & dataAddemdumView.Rows(i).Cells("Employee").Value & ", Gig = " & dataAddemdumView.Rows(i).Cells("Gig").Value & ", GigNotes = 
      '" & dataAddemdumView.Rows(i).Cells("GigNotes").Value & "', Department = '" & dataAddemdumView.Rows(i).Cells("Department").Value & "' WHERE ID = " & dataAddemdumView.Rows(i).Cells("ID").Value & "" 
       cmd = New OleDbCommand(sql, con) 
       con.Open() 
       da.UpdateCommand = con.CreateCommand() 
       da.UpdateCommand.CommandText = sql 
       da.UpdateCommand.ExecuteNonQuery() 
       con.Close() 
      End If 
     Next 
    Catch ex As Exception 
    con.Close() 
    MsgBox(ex.Message) 
     'MessageBox.Show("OPEX Quality encountered a problem, Try to reopen the application to solve issues", "Error 0002", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 
関連する問題