怎么向sql server数据库插入二进制流 c#
3个回答
展开全部
使用DataSet插入二进制字段:
myConn.Open();
DataSet tempDataSet=new DataSet();
SqlDataAdapter tempAdapter = new SqlDataAdapter("SELECT * FROM EP_HmSoftOfficeDocList WHERE 1=0", myConn);
SqlCommandBuilder tempBuilder=new SqlCommandBuilder(tempAdapter);
tempAdapter.Fill(tempDataSet);
//'插入一条记录
DataRow tempDataRow = tempDataSet.Tables[0].NewRow();
tempDataRow["DocumentType"] =DocumentType;
tempDataRow["DocumentDate"] =DocumentDate;
tempDataRow["DocumentManager"] =DocumentManager;
tempDataRow["DocumentDepartment"] =DocumentDepartment;
tempDataRow["DocumentTitle"] =DocumentTitle;
tempDataRow["DocumentContent"] =DocumentContent;
tempDataRow["BinaryFileData"] =BinaryFileData;
tempDataRow["BinaryFileType"] =BinaryFileType;
tempDataRow["BinaryFileLength"] =BinaryFileLength;
tempDataRow["BinaryFilePath"] =BinaryFilePath;
tempDataRow["AddUserName"] =strAddUser;
tempDataRow["AddUserTime"] =strAddTime;
tempDataRow["AddUserIP"] =strAddIP;
tempDataSet.Tables[0].Rows.Add(tempDataRow);
tempAdapter.Update(tempDataSet);
展开全部
public static int 执行SQL返回受影响的行(string sql, byte[] byt)
{
try
{
int i1 = 0;
SqlCommand cmd = new SqlCommand(sql, con);
SqlParameter spFile = new SqlParameter("@file", SqlDbType.Image);
spFile.Value = byt;
cmd.Parameters.Add(spFile);
con.Open();
i1 = cmd.ExecuteNonQuery();
con.Close();
return i1;
}
catch (System.Exception ex)
{
错误信息 = ex.ToString();
con.Close();
return 0;
}
}
这是执行的方法,你看下,能否明白!?
sql存放数据需要Image类型。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你数据定义类型必须是Varbinary
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询