gpt4 book ai didi

c# - 出现错误 :Operand type clash: nvarchar is incompatible with image

转载 作者:行者123 更新时间:2023-12-02 12:21:50 24 4
gpt4 key购买 nike

我在 tblEmployee 中有一个用于存放员工照片的图像字段。

当我尝试在 uploader 中保存没有图像文件的员工详细信息时,它抛出错误

"Operand type clash: nvarchar is incompatible with image"

当我从对话框中选择任何图片时,它工作正常。我正在使用 C# Windows 应用程序。

我的代码如下所示:

byte[] bimage=null;
if(txtPic.Text!="")
{
string image=txtPic.Text;
Bitmap bmp=new Bitmap(image);
FileStream fs=new FileStream(image,FileMode.Open,FileAccess.Read);
bimage=new byte[fs.Length];
fs.Read(bimage,0,Convert.ToInt32(fs.Length));
fs.Close();
}
cmd = new SqlCommand("sp_insert_new_employee",conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@name",txtName.Text.Trim());
cmd.Parameters.AddWithValue("@fname",txtFName.Text.Trim());
cmd.Parameters.AddWithValue("@dob",Convert.ToDateTime(dtDOB.Text));
cmd.Parameters.AddWithValue("@nic",txtCNIC.Text.Trim());
cmd.Parameters.AddWithValue("@add",txtAdd.Text.Trim());
cmd.Parameters.AddWithValue("@emptype",cmbEmpType.SelectedItem.ToString());
if(bimage!=null)
cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = bimage;
else
cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = DBNull.Value;
cmd.Parameters.AddWithValue("@descr",txtDescr.Text.Trim());
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Successfully added....!");`

有人知道我在哪里犯了错误吗?

最佳答案

通常我们在传递 DBNull.Value 作为值时会遇到此错误。您可以尝试以下操作吗?

而不是

cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = DBNull.Value;

使用以下内容。

SqlParameter imageParameter = new SqlParameter("@imgdata", SqlDbType.Image);
imageParameter .Value = DBNull.Value;
cmd.Parameters.Add(imageParameter );

关于c# - 出现错误 :Operand type clash: nvarchar is incompatible with image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30931731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com