Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Update from datagrid

Reply
Thread Tools

Update from datagrid

 
 
Russ Green
Guest
Posts: n/a
 
      07-20-2003
I am currently learning asp.net (vb) with Web Matrix. I am building an
intranet page that will have an editable datagrid on it. I have got the
datagrid to populate OK but I cannot get the Update method to work
correctly.

I click on edit and and the non-readonly field become editable as in
http://www.russgreen.net/software/ne...creenshot1.gif
The update button does nothing. See
http://www.russgreen.net/software/ne...creenshot2.gif

Error page
http://www.russgreen.net/software/ne...nUPDATEstateme
nt_.htm
..aspx page
http://www.russgreen.net/software/ne..._list_new.aspx

Can someone please help explain this please?

Sub DataGrid_Update(s As Object, e As DataGridCommandEventArgs )
'create edit text boxes
Dim txtName As textbox = E.Item.cells(2).Controls(0)
Dim txtStatus As textbox = E.Item.cells(3).Controls(0)
Dim txtAction As textbox = E.Item.cells(4).Controls(0)
Dim txtStaff As textbox = E.Item.cells(5).Controls(0)

'update SQL
Dim strUpdateSql As String ="UPDATE Projects SET" & _
" Name =@Name, Status =@Status, Action = @Action, Staff = @Staff" &
_
" WHERE ProjectID = @ProjectID"

'connection stuff
Dim conn As OleDbConnection = New OleDbConnection(strConn)
conn.Open()

'command Object to Execute the SQL
Dim cmd As OleDbCommand = New OleDbCommand(strUpdateSql, conn)
cmd.Parameters.Add(New OleDbParameter("@Name", txtName.text))
cmd.Parameters.Add(New OleDbParameter("@Status", txtStatus.text))
cmd.Parameters.Add(New OleDbParameter("@Action", txtAction.text))
cmd.Parameters.Add(New OleDbParameter("@Staff", txtStaff.text))
cmd.Parameters.Add(New OleDbParameter("@ProjectID",
CType(e.Item.Cells(0).Text, Long)))
cmd.ExecuteNonQuery()

'do housekeeping
DataGrid1.EditItemIndex = -1
conn.close

'rebind
BindData()
End Sub


 
Reply With Quote
 
 
 
 
John Toop
Guest
Posts: n/a
 
      07-21-2003
Hi Russ,

You need to use the last parameter @product ID

cmd.Parameters.Add(New OleDbParameter("@ProjectID",
DataGrid1.DataKeys(e.Item.ItemIndex))

It's interesting your sub is

DataGrid_Update but the ID of the object seems to be DataGrid1. I would have
expected DataGrid1_UpdateCommand but I suppose that could just be the way
that datamatrix wires it up. Then again... perhaps I'm wrong.

"Russ Green" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I am currently learning asp.net (vb) with Web Matrix. I am building an
> intranet page that will have an editable datagrid on it. I have got the
> datagrid to populate OK but I cannot get the Update method to work
> correctly.
>
> I click on edit and and the non-readonly field become editable as in
> http://www.russgreen.net/software/ne...creenshot1.gif
> The update button does nothing. See
> http://www.russgreen.net/software/ne...creenshot2.gif
>
> Error page
>

http://www.russgreen.net/software/ne...nUPDATEstateme
> nt_.htm
> .aspx page
> http://www.russgreen.net/software/ne..._list_new.aspx
>
> Can someone please help explain this please?
>
> Sub DataGrid_Update(s As Object, e As DataGridCommandEventArgs )
> 'create edit text boxes
> Dim txtName As textbox = E.Item.cells(2).Controls(0)
> Dim txtStatus As textbox = E.Item.cells(3).Controls(0)
> Dim txtAction As textbox = E.Item.cells(4).Controls(0)
> Dim txtStaff As textbox = E.Item.cells(5).Controls(0)
>
> 'update SQL
> Dim strUpdateSql As String ="UPDATE Projects SET" & _
> " Name =@Name, Status =@Status, Action = @Action, Staff = @Staff"

&
> _
> " WHERE ProjectID = @ProjectID"
>
> 'connection stuff
> Dim conn As OleDbConnection = New OleDbConnection(strConn)
> conn.Open()
>
> 'command Object to Execute the SQL
> Dim cmd As OleDbCommand = New OleDbCommand(strUpdateSql, conn)
> cmd.Parameters.Add(New OleDbParameter("@Name", txtName.text))
> cmd.Parameters.Add(New OleDbParameter("@Status", txtStatus.text))
> cmd.Parameters.Add(New OleDbParameter("@Action", txtAction.text))
> cmd.Parameters.Add(New OleDbParameter("@Staff", txtStaff.text))
> cmd.Parameters.Add(New OleDbParameter("@ProjectID",
> CType(e.Item.Cells(0).Text, Long)))
> cmd.ExecuteNonQuery()
>
> 'do housekeeping
> DataGrid1.EditItemIndex = -1
> conn.close
>
> 'rebind
> BindData()
> End Sub
>
>



 
Reply With Quote
 
 
 
 
Russ Green
Guest
Posts: n/a
 
      07-22-2003
OK

I sorted it. Well almost. The attached page works on the Webmatrix testing
server but not on IIS. Under IIS the page render OK but UPDATE generate the
following exception: -

System.Data.OleDb.OleDbException: Operation must use an updateable query. at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextE rrorHandling(Int32 hr) at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextF orSingleResult(tagDBPARAMS
dbParams, Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommandText( Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommand(Comm andBehavior behavior,
Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior
behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at ASP.db_project_list_aspx.DataGrid_Update(Object s,
DataGridCommandEventArgs e) in D:\Web Design
Work\SALT_INTRANET\asp_net\db_project_list.aspx:li ne 68

Any Ideas?

Russ

"John Toop" <(E-Mail Removed)> wrote in message
news:e$(E-Mail Removed)...
> Hi Russ,
>
> You need to use the last parameter @product ID
>
> cmd.Parameters.Add(New OleDbParameter("@ProjectID",
> DataGrid1.DataKeys(e.Item.ItemIndex))
>
> It's interesting your sub is
>
> DataGrid_Update but the ID of the object seems to be DataGrid1. I would

have
> expected DataGrid1_UpdateCommand but I suppose that could just be the way
> that datamatrix wires it up. Then again... perhaps I'm wrong.
>
> "Russ Green" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > I am currently learning asp.net (vb) with Web Matrix. I am building an
> > intranet page that will have an editable datagrid on it. I have got the
> > datagrid to populate OK but I cannot get the Update method to work
> > correctly.
> >
> > I click on edit and and the non-readonly field become editable as in
> > http://www.russgreen.net/software/ne...creenshot1.gif
> > The update button does nothing. See
> > http://www.russgreen.net/software/ne...creenshot2.gif
> >
> > Error page
> >

>

http://www.russgreen.net/software/ne...nUPDATEstateme
> > nt_.htm
> > .aspx page
> >

http://www.russgreen.net/software/ne..._list_new.aspx
> >
> > Can someone please help explain this please?
> >
> > Sub DataGrid_Update(s As Object, e As DataGridCommandEventArgs )
> > 'create edit text boxes
> > Dim txtName As textbox = E.Item.cells(2).Controls(0)
> > Dim txtStatus As textbox = E.Item.cells(3).Controls(0)
> > Dim txtAction As textbox = E.Item.cells(4).Controls(0)
> > Dim txtStaff As textbox = E.Item.cells(5).Controls(0)
> >
> > 'update SQL
> > Dim strUpdateSql As String ="UPDATE Projects SET" & _
> > " Name =@Name, Status =@Status, Action = @Action, Staff =

@Staff"
> &
> > _
> > " WHERE ProjectID = @ProjectID"
> >
> > 'connection stuff
> > Dim conn As OleDbConnection = New OleDbConnection(strConn)
> > conn.Open()
> >
> > 'command Object to Execute the SQL
> > Dim cmd As OleDbCommand = New OleDbCommand(strUpdateSql, conn)
> > cmd.Parameters.Add(New OleDbParameter("@Name", txtName.text))
> > cmd.Parameters.Add(New OleDbParameter("@Status", txtStatus.text))
> > cmd.Parameters.Add(New OleDbParameter("@Action", txtAction.text))
> > cmd.Parameters.Add(New OleDbParameter("@Staff", txtStaff.text))
> > cmd.Parameters.Add(New OleDbParameter("@ProjectID",
> > CType(e.Item.Cells(0).Text, Long)))
> > cmd.ExecuteNonQuery()
> >
> > 'do housekeeping
> > DataGrid1.EditItemIndex = -1
> > conn.close
> >
> > 'rebind
> > BindData()
> > End Sub
> >
> >

>
>



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.500 / Virus Database: 298 - Release Date: 10/07/2003




 
Reply With Quote
 
Rajeev Soni
Guest
Posts: n/a
 
      07-23-2003
Hi Russ,
you are getting this error "Operation must use an updateable query" may for two reasons...
1. Folder where you are having MDB file doesnot have permission for your asp.net applications.
2. Give the permission for MDB file.

Rajeev

"Russ Green" <(E-Mail Removed)> wrote in message news:(E-Mail Removed)...
> OK
>
> I sorted it. Well almost. The attached page works on the Webmatrix testing
> server but not on IIS. Under IIS the page render OK but UPDATE generate the
> following exception: -
>
> System.Data.OleDb.OleDbException: Operation must use an updateable query. at
> System.Data.OleDb.OleDbCommand.ExecuteCommandTextE rrorHandling(Int32 hr) at
> System.Data.OleDb.OleDbCommand.ExecuteCommandTextF orSingleResult(tagDBPARAMS
> dbParams, Object& executeResult) at
> System.Data.OleDb.OleDbCommand.ExecuteCommandText( Object& executeResult) at
> System.Data.OleDb.OleDbCommand.ExecuteCommand(Comm andBehavior behavior,
> Object& executeResult) at
> System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior
> behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
> at ASP.db_project_list_aspx.DataGrid_Update(Object s,
> DataGridCommandEventArgs e) in D:\Web Design
> Work\SALT_INTRANET\asp_net\db_project_list.aspx:li ne 68
>
> Any Ideas?
>
> Russ
>
> "John Toop" <(E-Mail Removed)> wrote in message
> news:e$(E-Mail Removed)...
> > Hi Russ,
> >
> > You need to use the last parameter @product ID
> >
> > cmd.Parameters.Add(New OleDbParameter("@ProjectID",
> > DataGrid1.DataKeys(e.Item.ItemIndex))
> >
> > It's interesting your sub is
> >
> > DataGrid_Update but the ID of the object seems to be DataGrid1. I would

> have
> > expected DataGrid1_UpdateCommand but I suppose that could just be the way
> > that datamatrix wires it up. Then again... perhaps I'm wrong.
> >
> > "Russ Green" <(E-Mail Removed)> wrote in message
> > news:(E-Mail Removed)...
> > > I am currently learning asp.net (vb) with Web Matrix. I am building an
> > > intranet page that will have an editable datagrid on it. I have got the
> > > datagrid to populate OK but I cannot get the Update method to work
> > > correctly.
> > >
> > > I click on edit and and the non-readonly field become editable as in
> > > http://www.russgreen.net/software/ne...creenshot1.gif
> > > The update button does nothing. See
> > > http://www.russgreen.net/software/ne...creenshot2.gif
> > >
> > > Error page
> > >

> >

> http://www.russgreen.net/software/ne...nUPDATEstateme
> > > nt_.htm
> > > .aspx page
> > >

> http://www.russgreen.net/software/ne..._list_new.aspx
> > >
> > > Can someone please help explain this please?
> > >
> > > Sub DataGrid_Update(s As Object, e As DataGridCommandEventArgs )
> > > 'create edit text boxes
> > > Dim txtName As textbox = E.Item.cells(2).Controls(0)
> > > Dim txtStatus As textbox = E.Item.cells(3).Controls(0)
> > > Dim txtAction As textbox = E.Item.cells(4).Controls(0)
> > > Dim txtStaff As textbox = E.Item.cells(5).Controls(0)
> > >
> > > 'update SQL
> > > Dim strUpdateSql As String ="UPDATE Projects SET" & _
> > > " Name =@Name, Status =@Status, Action = @Action, Staff =

> @Staff"
> > &
> > > _
> > > " WHERE ProjectID = @ProjectID"
> > >
> > > 'connection stuff
> > > Dim conn As OleDbConnection = New OleDbConnection(strConn)
> > > conn.Open()
> > >
> > > 'command Object to Execute the SQL
> > > Dim cmd As OleDbCommand = New OleDbCommand(strUpdateSql, conn)
> > > cmd.Parameters.Add(New OleDbParameter("@Name", txtName.text))
> > > cmd.Parameters.Add(New OleDbParameter("@Status", txtStatus.text))
> > > cmd.Parameters.Add(New OleDbParameter("@Action", txtAction.text))
> > > cmd.Parameters.Add(New OleDbParameter("@Staff", txtStaff.text))
> > > cmd.Parameters.Add(New OleDbParameter("@ProjectID",
> > > CType(e.Item.Cells(0).Text, Long)))
> > > cmd.ExecuteNonQuery()
> > >
> > > 'do housekeeping
> > > DataGrid1.EditItemIndex = -1
> > > conn.close
> > >
> > > 'rebind
> > > BindData()
> > > End Sub
> > >
> > >

> >
> >

>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.500 / Virus Database: 298 - Release Date: 10/07/2003
>
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Update On The Windows Phone 7 Update Update Lawrence D'Oliveiro NZ Computing 2 02-25-2011 08:03 AM
How to update datagrid after update =?Utf-8?B?TWljaGFlbA==?= ASP .Net 1 03-17-2006 07:24 PM
DataGrid ItemStyle is a textbox and doesn't update the datagrid datasource matthew schouppe ASP .Net 3 04-30-2004 03:02 PM
DataGrid easy Edit-Update using ADO.NET/DataGrid functionality C#? Kostia ASP .Net Datagrid Control 1 02-26-2004 05:03 PM
To all Gurus: How can I edit/update a DataGrid in a DataGrid (nested DataGrid)? Possible? Andreas Klemt ASP .Net Datagrid Control 0 10-08-2003 01:19 AM



Advertisments