Using Parameters with the ObjectDataSource control - Demo
In this example notice that the ObjectDataSource control includes an UpdateMethod
property that points to the UpdateMovie() method. The GridView automatically adds the update parameters to the ObjectDataSource control's
UpdateParameter collection. As an alternative, you can declare the parameters used
by the ObjectDataSource control explicitly. See
this example for details on this.
*** Movies.vb ***
Imports System.Web.Configuration
Public Class Movies
Private ReadOnly _conString As String
Public Sub UpdateMovie(ByVal id As Integer, ByVal title As String, &_
ByVal director As String, ByVal dateReleased As DateTime)
' Create Command
Dim con As New SqlConnection(_conString)
Dim cmd As New SqlCommand()
cmd.Connection = con
cmd.CommandText = "UPDATE Movies SET Title=@Title,Director=@Director,&_
DateReleased=@DateReleased WHERE Id=@Id"
' Add parameters
cmd.Parameters.AddWithValue("@Title", title)
cmd.Parameters.AddWithValue("@Director", director)
cmd.Parameters.AddWithValue("@DateReleased", dateReleased)
cmd.Parameters.AddWithValue("@Id", id)
' Execute command
Using con
con.Open()
cmd.ExecuteNonQuery()
End Using
End Sub
Public Function GetMovies() As SqlDataReader
' Create Connection
Dim con As New SqlConnection(_conString)
' Create Command
Dim cmd As SqlCommand = New SqlCommand()
cmd.Connection = con
cmd.CommandText = "SELECT Id,Title,Director,DateReleased FROM Movies"
' Return DataReader
con.Open()
Return cmd.ExecuteReader(CommandBehavior.CloseConnection)
End Function
Public Sub New()
_conString = WebConfigurationManager.ConnectionStrings("MyDatabase").ConnectionString
End Sub
End Class
*** ShowMovies.aspx ***
<%@ Page Language="VB" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show Movies</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView
id="grdMovies"
DataSourceID="srcMovies"
DataKeyNames="Id"
AutoGenerateEditButton="true"
Runat="server" />
<asp:ObjectDataSource
id="srcMovies"
TypeName="Movies"
SelectMethod="GetMovies"
UpdateMethod="UpdateMovie"
Runat="server"/>
</div>
</form>
</body>
</html>