Click here to Skip to main content
15,888,984 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi everyone,

Updating database, make this error: Failed to convert parameter value from a Image to a Byte[].
how can i recorrect it?

thanks,

C#
private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Data\WPF\Personel.mdf;Integrated Security=True;User Instance=True";

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;

            SqlDataAdapter da = new SqlDataAdapter();
            da.UpdateCommand = new SqlCommand(@"Update Personnels Set Name = @Name, Family = @Family, Picture = @Picture Where No = @No", con);

            da.UpdateCommand.Parameters.Add("@No", SqlDbType.Int).Value = txtNo.Text.ToString();
            da.UpdateCommand.Parameters.Add("@Name", SqlDbType.NVarChar).Value = txtName.Text;
            da.UpdateCommand.Parameters.Add("@Family", SqlDbType.NVarChar).Value = txtFamily.Text;
            da.UpdateCommand.Parameters.Add("@Picture", SqlDbType.VarBinary).Value = Picture;

            con.Open();
            da.UpdateCommand.ExecuteNonQuery();

            con.Close();
            this.ShowData();
        }


XML
<Image  Grid.Column="6" Margin="35,6,0,0" Grid.RowSpan="9" Name="Picture" DataContext="{Binding Path=SelectedItem, ElementName=grdPersonnel1}" HorizontalAlignment="Left" Width="213"></Image>


<DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Path=No}" Header="No" Width="Auto"></DataGridTextColumn>
        <DataGridTextColumn Binding="{Binding Path=Name}" Header="Name" Width="Auto"></DataGridTextColumn>
        <DataGridTextColumn Binding="{Binding Path=Family}" Header="Family" Width="Auto"></DataGridTextColumn>
        <DataGridTemplateColumn Header="Picture" Width="40" >
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Image Source="{Binding Path=Picture}" Margin="1" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
Posted

1 solution

 
Share this answer
 
v2
Comments
M.H. Shojaei 24-Jun-12 9:02am    
Thanks,
I make it for Add event but I want it for Update event.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900