I have two table the 1st one is student table stdt(stdtid,stdname) 2nd [att] table{stdid,attdate,attcase}
i join two table and show them in datagridview ,the user will fill some data in columns belongs to att table
and click save btn
this is my code but it does not work i do not know why
Code:a = Now.Date.ToString Dim sqlcom As String = "SELECT * FROM stdt LEFT JOIN (Select * from att Where att.attdate = #" & a & "#) as att ON stdt.stdid = att.stdtid " Dim cmdcom As New OleDbCommand(sqlcom, conn) da.SelectCommand = cmdcom Dim cmdBuildercom As New OleDbCommandBuilder(da) da.Fill(ds, "stdatt") Me.DataGridView2.DataSource = ds DataGridView2.DataMember = "stdatt" DataGridView2.AllowUserToAddRows = False For Each dra As DataRow In ds.Tables("stdatt").Rows dra(2) = dra(0)'to write stdid no from stdtable to att table dra(3) = a 'a is todaydate ' Next Private Sub savebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savebtn.Click da.UpdateCommand = New OleDbCommand("UPDATE ATT SET [STDTID] = @stdtid, [ATTDATE] = @ATTDATE, stdcaseid = @stdcaseid WHERE STDTID = @STDTID", da.SelectCommand.Connection) da.UpdateCommand.Parameters.Add("@stdtid", OleDbType.BigInt, 32, "stdtid") da.UpdateCommand.Parameters.Add("@ATTDATE", OleDbType.Date, 32, "ATTDATE") da.UpdateCommand.Parameters.Add("@stdcaseid", OleDbType.BigInt, 1, "stdcaseid") da.InsertCommand = New OleDbCommand("INSERT INTO ATT ([STDTID], [ATTDATE], stdcaseid) VALUES(@STDTID, @ATTDATE, @stdcaseid)", da.SelectCommand.Connection) da.InsertCommand.Parameters.Add("@stdtid", OleDbType.WChar, 32, "stdtid") da.InsertCommand.Parameters.Add("@ATTDATE", OleDbType.date, 32, "ATTDATE") da.InsertCommand.Parameters.Add("@stdcaseid", OleDbType.BigInt, 1, "stdcaseid") da.Update(ds, "stdatt") End Sub


Reply With Quote