cn=new SqlConnection ("server=.;uid=sa;pwd=sa;database=DressManage");
try{
    cn.Open ();
    string str="insert into DY_KuanShi(打样单号,数据来源,来源编号,编辑人,编辑说明,资料最终确认,说明,编辑日期,图1名字,图1,图2名字,图2,图3名字,图3) values('"+this.textBox7.Text.Trim()+"' ,'"+this.textBox26.Text.Trim()+"' ,'"+this.textBox25.Text.Trim ()+"' ,'"+this.textBox24.Text.Trim ()+"' ,'"+this.textBox23.Text.Trim ()+"' ,'"+Convert.ToByte(this.checkBox1.Checked)+"' ,'"+this.textBox22.Text.Trim ()+"' ,'"+Convert.ToDateTime(DateTime.Now)+"' ,'"+this.textBox3.Text.Trim ()+"',@pic1,'"+this.textBox20.Text.Trim ()+"',@pic2,'"+this.textBox21.Text.Trim()+"',@pic3)";
byte[] ib1=new Byte[60000];
byte[] ib2=new Byte[60000];
byte[] ib3=new Byte[60000];     FileStream fs1=new FileStream(this.pic1name,FileMode.Open ,FileAccess.Read ); 
fs1.Read(ib1,0,60000); 
FileStream fs2=new FileStream(this.pic2name,FileMode.Open ,FileAccess.Read ); 
fs1.Read(ib2,0,60000); 
FileStream fs3=new FileStream(this.pic3name,FileMode.Open ,FileAccess.Read ); 
fs1.Read(ib3,0,60000); 
cmd.Parameters.Add("@pic1",SqlDbType.Image,(int)fs2.Length); 
cmd.Parameters.Add("@pic2",SqlDbType.Image,(int)fs2.Length); 
cmd.Parameters.Add("@pic3",SqlDbType.Image,(int)fs3.Length); 
cmd.Parameters["@pic1"].Value=ib1;
cmd.Parameters["@pic2"].Value=ib2; 
cmd.Parameters["@pic3"].Value=ib3; 
cmd=new SqlCommand (str,cn);
cmd.ExecuteNonQuery();  
}
catch(Exception ex)
{
 MessageBox.Show (ex.Message );
}
finally
{
cn.Close ();
} 运行到cmd.Parameters.Add("@pic1",SqlDbType.Image,(int)fs2.Length); 时候,出现异常:未将对象引用设置到对象的实例。
找了很久,没有找到原因。我不太会参数的使用。
麻烦各位高手了。