我在sql server 2014中保存图像的代码,但是代码给出了图像dats的空数据错误 [英] my code for saving image in sql server 2014 but the code giving error as null data for the image dats
本文介绍了我在sql server 2014中保存图像的代码,但是代码给出了图像dats的空数据错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\Software\Hrms\hrms_hrmodule\hrms_hrmodule\employee.mdf;Integrated Security=True;Connect Timeout=30");
try
{
con.Open();
string s = "insert into Registration values(@empid,@name,@age,@dob,@add,@contact,@sex,@skill,@prof,@photo,@doc1,@doc2)";
cmd = new SqlCommand(s,con);
cmd.Parameters.Add(new SqlParameter("@empid",SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@name",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@age", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@add",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@contact",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@sex",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@skill",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@prof",SqlDbType.Text));
cmd.Parameters.Add(new SqlParameter("@photo",SqlDbType.Image));
cmd.Parameters.Add(new SqlParameter("@doc1",SqlDbType.Image));
cmd.Parameters.Add(new SqlParameter("@doc2", SqlDbType.Image));
cmd.Parameters.Add(new SqlParameter("@dob", SqlDbType.Date));
cmd.Parameters["@empid"].Value = text_id.Text;
cmd.Parameters["@name"].Value = text_name.Text;
cmd.Parameters["@age"].Value = text_age.Text;
cmd.Parameters["@add"].Value = richTextBox.ToString();
cmd.Parameters["@contact"].Value = text_contact.Text;
if(btn_male.IsEnabled)
{
sex = "male";
}
else if(btn_female.IsEnabled)
{
sex = "female";
}
cmd.Parameters["@sex"].Value = sex;
cmd.Parameters["@dob"].Value = datepicker.Text;
cmd.Parameters["@prof"].Value = comboBox1.Text;
string skill = "developer";
cmd.Parameters["@skill"].Value = skill;
cmd.Parameters["@photo"].Value = pic1;
cmd.Parameters["@doc1"].Value = doc1;
cmd.Parameters["@doc2"].Value = doc2;
cmd.ExecuteNonQuery();
MessageBox.Show("record saved");
推荐答案
首先查看pic1 - 如果它为null,那么除非DB字段允许空值,否则你将得到该错误(来自您的错误消息,我假设它没有)。
但是,如果它是你传递的Image类实例,你也不想这样做 - 你需要通过而是字节数据。请参阅此处:为什么我会得到一个参数无效。我从数据库中读取图像时出现异常? [ ^ ],告诉你如何操作。
Start by looking at "pic1" - if it is null, then you will get that error unless the DB field allows null values (from your error message, I assume it doesn't).
However, if it is an Image class instance you are passing, you don't want to do that either - you need to pass the byte data instead. See here: Why do I get a "Parameter is not valid." exception when I read an image from my database?[^] which shows you how to do it.
这篇关于我在sql server 2014中保存图像的代码,但是代码给出了图像dats的空数据错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文