項目テンプレートとしてチェック ボックスがある GridView があり、チェック ボックスが変更されたときに GridView を更新しています。ここに私のGridViewコードがあります:
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:CheckBox ID="chkcelar" runat="server" Text="Clear" OnCheckedChanged="chkclearchng" AutoPostBack="true"/>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="BPV_NUM" DataType="System.Int64"
DefaultInsertValue="" HeaderText="BPV No" SortExpression="BPV_NUM"
UniqueName="BPV_NUM">
</telerik:GridBoundColumn>
</Columns>
そして、これがグリッドビューを更新しているC#コードです
protected void chkclearchng(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection("Data Source=sml; User ID=sml; Password=sml; provider=OraOLEDB.Oracle");
OleDbCommand cmd = new OleDbCommand();
CheckBox chkcelar = ((CheckBox)(sender));
GridDataItem row = ((GridDataItem)(chkcelar.NamingContainer));
long bpvnum = row.Cells[1].Text;
if (chkcelar.Checked ) {
cmd.CommandText = @"update sml.FND_01_11@wbg set CLR_FLG=1, CLR_DTE=sysdate where bpv_num=:bpv_num and bpv_dte=:bpv_dte";
}
else {
cmd.CommandText = @"update sml.FND_01_11@wbg set CLR_FLG=0, CLR_DTE=sysdate where bpv_num=:bpv_num and bpv_dte=:bpv_dte";
}
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
cmd.Parameters.Add(":bpv_num",OleDbType.BigInt).Value = bpvnum;
cmd.Parameters.Add(":bpv_dte",OleDbType.Date).Value = RadComboBox1.SelectedValue;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
問題は、チェック ボックスを変更すると、次のエラーが表示されることです。
入力文字列は、正しい形式ではありませんでした。
何が問題なのか、どうすれば解決できるのか誰にもわかりますか?