更新包含图片的数据库 [英] Updating database that contain Picture

查看:81
本文介绍了更新包含图片的数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

更新数据库,出现此错误:无法将参数值从图像转换为字节[].
我该如何更正呢?

谢谢,

Hi everyone,

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

thanks,

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();
        }





<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>

推荐答案

请看以下内容:
http://stackoverflow.com/questions/553611/wpf-image-to-byte [ ^ ]

而这个:
http://stackoverflow.com/questions/686461/how-do-i-bind-a-byte-array-to-an-image-in-wpf-with-a-value-converter [
Look at this please:
http://stackoverflow.com/questions/553611/wpf-image-to-byte[^]

And this:
http://stackoverflow.com/questions/686461/how-do-i-bind-a-byte-array-to-an-image-in-wpf-with-a-value-converter[^]


这篇关于更新包含图片的数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆