0
我想从gridview插入选定的图像到mysql表中。当我尝试,它给我消息说从gridview插入选定的图像到db
类型的异常“System.InvalidCastException”发生在 App_Web_zptg3ta3.dll但在用户代码中没有处理。其他 信息:无法投射类型为'System.Int32'的对象至类型 'System.Data.DataRow'。
下面是我的C#&标记代码:
if (gvImages.SelectedIndex != -1)
{
DataRow SelectedRowValue = ((DataRow)gvImages.SelectedValue);
byte[] ImageBytes = (byte[])SelectedRowValue.ItemArray[1];
MySqlCommand cmd2 = new MySqlCommand("INSERT INTO rasmlar (Rasm) VALUES (@ImageSource)", con);
cmd2.Parameters.Add("@ImageSource", MySqlDbType.Blob, ImageBytes.Length).Value = ImageBytes;
cmd2.ExecuteNonQuery();
}
<asp:GridView ID="gvImages" runat="server" OnRowDataBound="OnRowDataBound"
DataKeyNames="Rasm_ID" AutoGenerateSelectButton="True" AllowPaging="True"
AutoGenerateColumns="False" OnPageIndexChanging="gvImages_PageIndexChanging"
PageSize="5" SelectedIndex="1">
<Columns>
<asp:TemplateField HeaderText="Rasm_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Rasm_ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Rasm_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rasm">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" Height="80" Width="80" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<selectedrowstyle backcolor="LightCyan" forecolor="DarkBlue" font-bold="true"/>
</asp:GridView>
显示你的gridview标记请 – naveen