2017-06-07 6 views
2

データを更新しようとすると、プログラムがデータベースに保存しないという問題があります。Microsoft Accessで値を更新できません

これは、現在のコードです:

Dim y As Byte = Convert.ToByte(lblID.Text) - 1 
Dim cb As New OleDb.OleDbCommandBuilder(da) 
ds.Tables("dset").Rows(y).Item(1) = txtname.Text 
ds.Tables("dset").Rows(y).Item(2) = txtsubm.Text & "/" & txtsubd.Text & "/" & txtsuby.Text 
ds.Tables("dset").Rows(y).Item(3) = txtexpm.Text & "/" & txtexpd.Text & "/" & txtexpy.Text 
ds.Tables("dset").Rows(y).Item(5) = txtnotes.Text 
If MdComboBox1.SelectedItem = "A" Then 
    ds.Tables("dset").Rows(y).Item(4) = "A" 
ElseIf MdComboBox1.SelectedItem = "B" Then 
Else 
    MdAlertBox1.Text = "Please Select A Class The Class Box" 
    MdAlertBox1.Visible = True 
End If 
MdAlertBox1.Text = "Data Sucessfully Updated !" 
MdAlertBox1.kind = MDAlertBox._Kind.Success 
MdAlertBox1.Visible = True 
getinfo.Start() 
updatedata.Stop() 

と宣言された変数:

Dim conn As New OleDb.OleDbConnection 
Dim DbProv As String = "PROVIDER=microsoft.ACE.OLEDB.12.0;" 
Dim Src As String = " data source = c:\users\kingo\documents\visual studio 2013\Projects\WindowsApplication2\WindowsApplication2\BigGymDB.accdb" 
Dim da As OleDb.OleDbDataAdapter 
Dim ds As New DataSet 
+0

ステップバイステップでデバッグしましたか?はいの場合、それはすべての機能throuh行くのですか? – Mederic

+0

はいエラーは一切ありません。 –

+0

da.Update(ds.Tables( "dset")) 'をどこで呼びますか? – muffi

答えて

0

は、データベースに渡している値を確認するためにdebug.printを入れてください。このように:

ds.Tables("dset").Rows(y).Item(2) = txtsubm.Text & "/" & txtsubd.Text & "/" & txtsuby.Text 
    ds.Tables("dset").Rows(y).Item(3) = txtexpm.Text & "/" & txtexpd.Text & "/" & txtexpy.Text 
    ds.Tables("dset").Rows(y).Item(5) = txtnotes.Text 
    'your code ---^ 

    debug.print txtname.Text; txtsubm.Text & "/" & txtsubd.Text & "/" & txtsuby.Text; 
    debug.print txtnotes.Text; txtexpm.Text & "/" & txtexpd.Text & "/" & txtexpy.Text 

    'your code ---v 

    If MdComboBox1.SelectedItem = "A" Then 
     ds.Tables("dset").Rows(y).Item(4) = "A" 
    ElseIf MdComboBox1.SelectedItem = "B" Then 

その後Immdiateウィンドウの二行で、あなたはこれらのtxtsub.Textと他の3つの入力は、実際に何かを持っているかどうかを確認する必要があります。

+0

確かに値がありますが、実際には値は更新後にフォームのラベルに表示されますが、再度デバッグしようとすると古い値が「データベースに割り当てられていません」と表示されます –

+0

@AdhamOmar - あなたのコードのどこかに 'On Error Resume Next'がありますか? – Vityata

関連する問題