@类的问题

qq_19955831 2016-10-21 09:41:30
public void SaveImage(string MID, OpenFileDialog openF)
{
string P_str = openF.FileName;//得到图片的所在路径
FileStream fs = new FileStream(//创建文件流对象
P_str, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);//创建二进制读取器
byte[] imgBytesIn = br.ReadBytes((int)fs.Length);//将流读入到字节数组中
conn.Open();//打开数据库连接
StringBuilder strSql = new StringBuilder();//创建字符串构造器
strSql.Append(//附加字符串
"update tb_employee Set employeePhoto=@Photo where employeeID=" + MID);
SqlCommand cmd = new SqlCommand(strSql.ToString(), conn);//创建命令对象
cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;//添加参数
cmd.ExecuteNonQuery();//执行SQL命令
conn.Close();//关闭数据库连接
两次出现@Photo",不知道@是啥意思,我只知道@第一种意思,这里面的意思真的不知道。主高手指教下。
}
...全文
189 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_19955831 2016-10-21
  • 打赏
  • 举报
回复
谢谢大神,明白了。。。
我叫小菜菜 2016-10-21
  • 打赏
  • 举报
回复
sql语句中使用@,是占位符。 strSql.Append( "update tb_employee Set employeePhoto=@Photo where employeeID=" + MID); 这里的@就是占位符,跟问号?一个意思。 strSql.Append( "update tb_employee Set employeePhoto= where employeeID=" + MID); cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;//添加参数 Parameters.Add语句中使用@,是为了一致性,忽略也是可以的,比如 cmd.Parameters.Add("Photo", SqlDbType.Binary).Value = imgBytesIn;//添加参数 这也是没有问题的。 以上是一般的参数化查询,可以防止sql注入。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧