Home All Groups Group Topic Archive Search About

Can't Update Datagridview

Author
28 Nov 2006 2:19 AM
Arne Beruldsen
I just can't seem to get the datagridview to update.  I'm using 2005 vb.net

Here's my code for loading the grid (works fine) and my attempt at updating
via a save button...

Private SxAdapter As New OleDbDataAdapter()
Private SxSource As New BindingSource()
Private SxTable As New DataTable()

Private Sub GetData(ByVal selectCommand As String)
        Try
            SQL = "Select LastName, FirstName, TestName, TestDate, Score
from TestScores"
            SxAdapter = New OleDbDataAdapter(selectCommand, CS)
            Dim MyCommandBuilder As New OleDbCommandBuilder(SxAdapter)
            SxTable.Locale = System.Globalization.CultureInfo.InvariantCulture
            Me.SxAdapter.Fill(SxTable)
            Me.SxSource.DataSource = SxTable
        Catch ex As OleDbException
            MessageBox.Show("Error")
        End Try
    End Sub

in the form load...
Me.DataGridView1.DataSource = Nothing
Me.DataGridView1.Rows.Clear()
Me.DataGridView1.DataSource = SxSource
GetData("Select LastName, FirstName, TestName, TestDate, Score from
TestScores")

and the save button...

Try
            Me.Validate()
            Me.SxSource.EndEdit()
            Dim myBuilder As OleDb.OleDbCommandBuilder = New
OleDb.OleDbCommandBuilder(Me.SxAdapter)
            Me.SxAdapter.Update(CType(Me.SxSource.DataSource, DataTable))
            MsgBox("Update Successful")
        Catch ex As Exception
            MsgBox("Update Failed")
        End Try

I'm stumpled...

Author
28 Nov 2006 6:43 AM
RobinS
What does it do? Does it give you an error? Does it just act like
it did the update but it doesn't? In what way doesn't it work?

Robin S.
-------------------------------------------
Show quoteHide quote
"Arne Beruldsen" <ArneBeruld***@discussions.microsoft.com> wrote in message
news:13E650C9-F9A6-4DEE-8BDD-E647EC23540A@microsoft.com...
>I just can't seem to get the datagridview to update.  I'm using 2005 vb.net
>
> Here's my code for loading the grid (works fine) and my attempt at
> updating
> via a save button...
>
> Private SxAdapter As New OleDbDataAdapter()
> Private SxSource As New BindingSource()
> Private SxTable As New DataTable()
>
> Private Sub GetData(ByVal selectCommand As String)
>        Try
>            SQL = "Select LastName, FirstName, TestName, TestDate, Score
> from TestScores"
>            SxAdapter = New OleDbDataAdapter(selectCommand, CS)
>            Dim MyCommandBuilder As New OleDbCommandBuilder(SxAdapter)
>            SxTable.Locale =
> System.Globalization.CultureInfo.InvariantCulture
>            Me.SxAdapter.Fill(SxTable)
>            Me.SxSource.DataSource = SxTable
>        Catch ex As OleDbException
>            MessageBox.Show("Error")
>        End Try
>    End Sub
>
> in the form load...
> Me.DataGridView1.DataSource = Nothing
> Me.DataGridView1.Rows.Clear()
> Me.DataGridView1.DataSource = SxSource
> GetData("Select LastName, FirstName, TestName, TestDate, Score from
> TestScores")
>
> and the save button...
>
> Try
>            Me.Validate()
>            Me.SxSource.EndEdit()
>            Dim myBuilder As OleDb.OleDbCommandBuilder = New
> OleDb.OleDbCommandBuilder(Me.SxAdapter)
>            Me.SxAdapter.Update(CType(Me.SxSource.DataSource, DataTable))
>            MsgBox("Update Successful")
>        Catch ex As Exception
>            MsgBox("Update Failed")
>        End Try
>
> I'm stumpled...
Author
28 Nov 2006 2:31 PM
Arne Beruldsen
Robin...

via the Catch...I simply get "Update Failed"

I'm confused...

Show quoteHide quote
"RobinS" wrote:

> What does it do? Does it give you an error? Does it just act like
> it did the update but it doesn't? In what way doesn't it work?
>
> Robin S.
> -------------------------------------------
> "Arne Beruldsen" <ArneBeruld***@discussions.microsoft.com> wrote in message
> news:13E650C9-F9A6-4DEE-8BDD-E647EC23540A@microsoft.com...
> >I just can't seem to get the datagridview to update.  I'm using 2005 vb.net
> >
> > Here's my code for loading the grid (works fine) and my attempt at
> > updating
> > via a save button...
> >
> > Private SxAdapter As New OleDbDataAdapter()
> > Private SxSource As New BindingSource()
> > Private SxTable As New DataTable()
> >
> > Private Sub GetData(ByVal selectCommand As String)
> >        Try
> >            SQL = "Select LastName, FirstName, TestName, TestDate, Score
> > from TestScores"
> >            SxAdapter = New OleDbDataAdapter(selectCommand, CS)
> >            Dim MyCommandBuilder As New OleDbCommandBuilder(SxAdapter)
> >            SxTable.Locale =
> > System.Globalization.CultureInfo.InvariantCulture
> >            Me.SxAdapter.Fill(SxTable)
> >            Me.SxSource.DataSource = SxTable
> >        Catch ex As OleDbException
> >            MessageBox.Show("Error")
> >        End Try
> >    End Sub
> >
> > in the form load...
> > Me.DataGridView1.DataSource = Nothing
> > Me.DataGridView1.Rows.Clear()
> > Me.DataGridView1.DataSource = SxSource
> > GetData("Select LastName, FirstName, TestName, TestDate, Score from
> > TestScores")
> >
> > and the save button...
> >
> > Try
> >            Me.Validate()
> >            Me.SxSource.EndEdit()
> >            Dim myBuilder As OleDb.OleDbCommandBuilder = New
> > OleDb.OleDbCommandBuilder(Me.SxAdapter)
> >            Me.SxAdapter.Update(CType(Me.SxSource.DataSource, DataTable))
> >            MsgBox("Update Successful")
> >        Catch ex As Exception
> >            MsgBox("Update Failed")
> >        End Try
> >
> > I'm stumpled...
>
>
>
Author
28 Nov 2006 2:45 PM
Arne Beruldsen
Robin...

The error reads

Dynamic SQL generation for the UpdateCommand is not supported against a
SelectCommand that does not return any key column information.

??

Arne

Show quoteHide quote
"RobinS" wrote:

> What does it do? Does it give you an error? Does it just act like
> it did the update but it doesn't? In what way doesn't it work?
>
> Robin S.
> -------------------------------------------
> "Arne Beruldsen" <ArneBeruld***@discussions.microsoft.com> wrote in message
> news:13E650C9-F9A6-4DEE-8BDD-E647EC23540A@microsoft.com...
> >I just can't seem to get the datagridview to update.  I'm using 2005 vb.net
> >
> > Here's my code for loading the grid (works fine) and my attempt at
> > updating
> > via a save button...
> >
> > Private SxAdapter As New OleDbDataAdapter()
> > Private SxSource As New BindingSource()
> > Private SxTable As New DataTable()
> >
> > Private Sub GetData(ByVal selectCommand As String)
> >        Try
> >            SQL = "Select LastName, FirstName, TestName, TestDate, Score
> > from TestScores"
> >            SxAdapter = New OleDbDataAdapter(selectCommand, CS)
> >            Dim MyCommandBuilder As New OleDbCommandBuilder(SxAdapter)
> >            SxTable.Locale =
> > System.Globalization.CultureInfo.InvariantCulture
> >            Me.SxAdapter.Fill(SxTable)
> >            Me.SxSource.DataSource = SxTable
> >        Catch ex As OleDbException
> >            MessageBox.Show("Error")
> >        End Try
> >    End Sub
> >
> > in the form load...
> > Me.DataGridView1.DataSource = Nothing
> > Me.DataGridView1.Rows.Clear()
> > Me.DataGridView1.DataSource = SxSource
> > GetData("Select LastName, FirstName, TestName, TestDate, Score from
> > TestScores")
> >
> > and the save button...
> >
> > Try
> >            Me.Validate()
> >            Me.SxSource.EndEdit()
> >            Dim myBuilder As OleDb.OleDbCommandBuilder = New
> > OleDb.OleDbCommandBuilder(Me.SxAdapter)
> >            Me.SxAdapter.Update(CType(Me.SxSource.DataSource, DataTable))
> >            MsgBox("Update Successful")
> >        Catch ex As Exception
> >            MsgBox("Update Failed")
> >        End Try
> >
> > I'm stumpled...
>
>
>
Author
28 Nov 2006 6:47 PM
RobinS
Do you have a primary key defined in your table?  And does your SELECT
statement include that field?

Robin S.
===========================
Show quoteHide quote
"Arne Beruldsen" <ArneBeruld***@discussions.microsoft.com> wrote in message
news:0E2850AE-EADA-4BA3-9C60-9A09668E7990@microsoft.com...
> Robin...
>
> The error reads
>
> Dynamic SQL generation for the UpdateCommand is not supported against a
> SelectCommand that does not return any key column information.
>
> ??
>
> Arne
>
> "RobinS" wrote:
>
>> What does it do? Does it give you an error? Does it just act like
>> it did the update but it doesn't? In what way doesn't it work?
>>
>> Robin S.
>> -------------------------------------------
>> "Arne Beruldsen" <ArneBeruld***@discussions.microsoft.com> wrote in
>> message
>> news:13E650C9-F9A6-4DEE-8BDD-E647EC23540A@microsoft.com...
>> >I just can't seem to get the datagridview to update.  I'm using 2005
>> >vb.net
>> >
>> > Here's my code for loading the grid (works fine) and my attempt at
>> > updating
>> > via a save button...
>> >
>> > Private SxAdapter As New OleDbDataAdapter()
>> > Private SxSource As New BindingSource()
>> > Private SxTable As New DataTable()
>> >
>> > Private Sub GetData(ByVal selectCommand As String)
>> >        Try
>> >            SQL = "Select LastName, FirstName, TestName, TestDate, Score
>> > from TestScores"
>> >            SxAdapter = New OleDbDataAdapter(selectCommand, CS)
>> >            Dim MyCommandBuilder As New OleDbCommandBuilder(SxAdapter)
>> >            SxTable.Locale =
>> > System.Globalization.CultureInfo.InvariantCulture
>> >            Me.SxAdapter.Fill(SxTable)
>> >            Me.SxSource.DataSource = SxTable
>> >        Catch ex As OleDbException
>> >            MessageBox.Show("Error")
>> >        End Try
>> >    End Sub
>> >
>> > in the form load...
>> > Me.DataGridView1.DataSource = Nothing
>> > Me.DataGridView1.Rows.Clear()
>> > Me.DataGridView1.DataSource = SxSource
>> > GetData("Select LastName, FirstName, TestName, TestDate, Score from
>> > TestScores")
>> >
>> > and the save button...
>> >
>> > Try
>> >            Me.Validate()
>> >            Me.SxSource.EndEdit()
>> >            Dim myBuilder As OleDb.OleDbCommandBuilder = New
>> > OleDb.OleDbCommandBuilder(Me.SxAdapter)
>> >            Me.SxAdapter.Update(CType(Me.SxSource.DataSource,
>> > DataTable))
>> >            MsgBox("Update Successful")
>> >        Catch ex As Exception
>> >            MsgBox("Update Failed")
>> >        End Try
>> >
>> > I'm stumpled...
>>
>>
>>