I have a ObjectDataSourc e wich is linked to a SQL Server 2005 database
I a gridview I have data and on each row a "Edit button" wich wil show the
selected record in editmode. When I click the update button I get this error
:
Parameterized Query '(@TmprValue float,@TmprRema rk
nvarchar(4000), @TmprLocationID int' expects parameter @TmprRemark, which was
not supplied.
Code in my *aspx file :
<asp:GridView ID="grvTemperat ures" runat="server" AllowPaging="Tr ue"
AutoGenerateCol umns="False"
DataSourceID="o bjDataSrcTemp" SkinID="gridvie wSkin">
<Columns>
<asp:BoundFie ld DataField="Tmpr ID" HeaderText="ID" ReadOnly="True"
><ItemStyle HorizontalAlign ="Center" Width="50px" />
</asp:BoundField>
<asp:BoundFie ld DataField="Tmpr Name" HeaderText="Nam e"
ReadOnly="True" >
<ItemStyle HorizontalAlign ="Center" Width="50px" />
</asp:BoundField>
<asp:BoundFie ld DataField="Tmpr Value" HeaderText="Val ue" >
<ItemStyle HorizontalAlign ="Right" Width="50px" />
</asp:BoundField>
<asp:BoundFie ld DataField="Tmpr Remark" HeaderText="Rem ark" >
<ItemStyle HorizontalAlign ="Left" Width="300px" />
</asp:BoundField>
<asp:BoundFie ld DataField="Tmpr LocationID" HeaderText="Loc ation ID"
><ItemStyle HorizontalAlign ="Center" />
</asp:BoundField>
<asp:CommandFie ld ButtonType="But ton" ShowEditButton= "True" />
</Columns>
</asp:GridView>
<asp:ObjectData Source ID="objDataSrcT emp" runat="server"
OldValuesParame terFormatString ="original_{ 0}"
SelectMethod="G etTemperatures" TypeName="dbTem peratures"
UpdateMethod="u pdTmpr" ConflictDetecti on="CompareAllV alues">
<UpdateParamete rs>
<asp:Paramete r Name="TmprValue " Type="Double" />
<asp:Paramete r Name="TmprRemar k" Type="String" />
<asp:Paramete r Name="TmprLocat ionID" Type="Int32" />
<asp:Paramete r Name="original_ TmprID" Type="Int32" />
<asp:Paramete r Name="original_ TmprName" Type="String" />
<asp:Paramete r Name="original_ TmprValue" Type="Double" />
<asp:Paramete r Name="original_ TmprRemark" Type="String" />
<asp:Paramete r Name="original_ TmprLocationID" Type="Int32" />
</UpdateParameter s>
</asp:ObjectDataS ource>
<asp:Button ID="Button1" runat="server" Text="Button" />
And this is my Update method :
<DataObjectMeth od(DataObjectMe thodType.Update )_
Public Shared Sub updTmpr( _
ByVal TmprValue As Double, _
ByVal TmprRemark As String, _
ByVal TmprLocationID As Int32, _
ByVal original_TmprID As Int32, _
ByVal original_TmprNa me As String, _
ByVal original_TmprVa lue As Double, _
ByVal original_TmprRe mark As String, _
ByVal original_TmprLo cationID As Int32)
Dim updString As String = "UPDATE Tmpr " & _
"SET TmprValue = @TmprValue, TmprRemark = @TmprRemark,
TmprLocationID = @TmprLocationID " & _
"WHERE TmprID = @original_TmprI D " & _
"AND TmprName = @original_TmprN ame " & _
"AND TmprValue = @original_TmprV alue " & _
"AND TmprRemark = @original_TmprR emark " & _
"AND TmprLocationID = @original_TmprL ocationID"
Dim cmd As New SqlCommand(updS tring, New
SqlConnection(d bCommand.GetCon String))
cmd.Parameters. AddWithValue("T mprValue", TmprValue)
cmd.Parameters( "TmprValue").Db Type = DbType.Double
cmd.Parameters. AddWithValue("T mprRemark", TmprRemark)
cmd.Parameters( "TmprRemark").D bType = DbType.String
cmd.Parameters. AddWithValue("T mprLocationID", TmprLocationID)
cmd.Parameters( "TmprLocationID ").DbType = DbType.Int32
cmd.Parameters. AddWithValue("o riginal_TmprID" , original_TmprID )
cmd.Parameters( "original_TmprI D").DbType = DbType.Int32
cmd.Parameters. AddWithValue("o riginal_TmprNam e", original_TmprNa me)
cmd.Parameters( "original_TmprN ame").DbType = DbType.String
cmd.Parameters. AddWithValue("o riginal_TmprVal ue", original_TmprVa lue)
cmd.Parameters( "original_Tmprv alue").DbType = DbType.Double
cmd.Parameters. AddWithValue("o riginal_TmprRem ark",
original_TmprRe mark)
cmd.Parameters( "original_TmprR emark").DbType = DbType.String
cmd.Parameters. AddWithValue("o riginal_TmprLoc ationID",
original_TmprLo cationID)
cmd.Parameters( "original_TmprL ocationID").DbT ype = DbType.Int32
cmd.Connection. Open()
Try
cmd.ExecuteNonQ uery()
Catch ex As Exception
Throw ex
Finally
cmd.Connection. Close()
End Try
End Sub
What is going wrong ?
Thanks in advance for some help on this ...
Benny