FileStream fs = new FileStream(fileInfo.FullName, FileMode.Open);
byte[] byteArray = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
//fs.Read(byteArray, 0, Convert.ToInt32(fs.Length));
byteArray = br.ReadBytes(Convert.ToInt32(fs.Length));
//SqlParameter parameter = new SqlParameter("@photo",SqlDbType.Image);
//parameter.Value = byteArray;
//cmd.Parameters.Add(parameter);
cmd.Parameters.Add("@photo", SqlDbType.Image);
cmd.Parameters["@photo"].Value = byteArray;
String cmds = "insert into " + txbTableName.Text + "(sort_id,key_name,key_value,title,ext,file_blob,CreateTime,CreateUserName,state)values(1,'A0100','" + key_value + "','" + title + "','.jpg','@photo','" + System.DateTime.Now.ToString() + "','系统管理员',1)";
// SqlParameter parameter = new SqlParameter("@photo", SqlDbType.Image);
//parameter.Value = byteArray;
//cmd.Parameters.Add("@photo", SqlDbType.Image);
//cmd.Parameters["@photo"].Value = byteArray;
cmd.CommandText = cmds;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
fs.Close();
求高人指点..问什么插入进去的数据流不对..
byte[] byteArray = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
//fs.Read(byteArray, 0, Convert.ToInt32(fs.Length));
byteArray = br.ReadBytes(Convert.ToInt32(fs.Length));
//SqlParameter parameter = new SqlParameter("@photo",SqlDbType.Image);
//parameter.Value = byteArray;
//cmd.Parameters.Add(parameter);
cmd.Parameters.Add("@photo", SqlDbType.Image);
cmd.Parameters["@photo"].Value = byteArray;
String cmds = "insert into " + txbTableName.Text + "(sort_id,key_name,key_value,title,ext,file_blob,CreateTime,CreateUserName,state)values(1,'A0100','" + key_value + "','" + title + "','.jpg','@photo','" + System.DateTime.Now.ToString() + "','系统管理员',1)";
// SqlParameter parameter = new SqlParameter("@photo", SqlDbType.Image);
//parameter.Value = byteArray;
//cmd.Parameters.Add("@photo", SqlDbType.Image);
//cmd.Parameters["@photo"].Value = byteArray;
cmd.CommandText = cmds;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
fs.Close();
求高人指点..问什么插入进去的数据流不对..
String cmds = "insert into " + txbTableName.Text + "(sort_id,key_name,key_value,title,ext,file_blob,CreateTime,CreateUserName,state)values(1,'A0100','" + key_value + "','" + title + "','.jpg',@photo,'" + System.DateTime.Now.ToString() + "','系统管理员',1)";
cmd.Parameters.Add("@photo", SqlDbType.Image);
cmd.Parameters["@photo"].Value = byteArray;
byte[] byteArray = new byte[fs.Length];
fs.Read(byteArray, 0, Convert.ToInt32(fs.Length));
SqlParameter parameter = new SqlParameter("@photo", SqlDbType.Image);
parameter.Value = byteArray;
cmd.Parameters.Add(parameter);
String cmds = "insert into " + txbTableName.Text + "(sort_id,key_name,key_value,title,ext,file_blob,CreateTime,CreateUserName,state)values(1,'A0100','" + key_value + "','" + title + "','.jpg',@photo,'" + System.DateTime.Now.ToString() + "','系统管理员',1)";
cmd.CommandText = cmds;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
fs.Close();
现在 还不行,把@photo单引号去了还是不行,插进去的不是图片的流,很郁闷。。
如果是二进制流最好改成 SqlParameter parameter = new SqlParameter("@photo", SqlDbType.Binary);
,'@photo',不加单引号。改成,@photo
FileStream fs = new FileStream(fileInfo.FullName, FileMode.Open,FileAccess.Read);
byte[] byteArray = new byte[fs.Length];
fs.Read(byteArray, 0, Convert.ToInt32(fs.Length));
String cmds = "insert into " + txbTableName.Text + "(sort_id,key_name,key_value,title,ext,file_blob,CreateTime,CreateUserName,state)values(1,'A0100','" + key_value + "','" + title + "','.jpg',@photo,'" + System.DateTime.Now.ToString() + "','系统管理员',1)";
cmd.CommandText = cmds;
SqlParameter parameter = new SqlParameter("@photo", SqlDbType.Image);
parameter.Value = byteArray;
cmd.Parameters.Add(parameter);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
fs.Close();
一定要等SQL语句实例化后才能 SqlParameter添加到SQLcommand里面,谢谢各位的帮忙。。