如何把图片存到SQLSERVER中?能提供代码么,多谢!
解决方案 »
- 单元测试代码怎么写
- C#中我将四个panel叠在一起,location和size相同,然后换页?但是会出现问题,下面是代码,求各位高手帮忙分析一下,解决小弟的问题!
- 如何在C#控制台下输出爱心符号
- 搞了半天,连个树的节点都没生成,请问错在哪,呜呜呜
- 数据库查询问题~~~低级问题,望大虾解答
- 关于控件treeview的问题
- 求C#实现三个Excel函数的方法
- PDA模拟器无法调试??
- 如何将exe程序添加到windows 服务
- 如何用c#编写远程控制软件?
- 哪位高手指点一下:本人刚毕业参加工作,就遇到一个有关C#中异常的问题,请专家帮帮我!!
- 关于在程序中调用带output参数的存储过程的问题?谢谢请教了
建议先自己找找。
/// Creat New File in DB
/// </summary>
/// <param name="strNodeId"></param>
/// <param name="file"></param>
/// <param name="description"></param>
/// <param name="userId"></param>
public void creatNewFile(string strNodeId,HtmlInputFile file,string description,string userId)
{
Stream imgdatastream = file.PostedFile.InputStream;
string fileName = System.IO.Path.GetFileName(file.PostedFile.FileName).Trim();
int imgdatalen = file.PostedFile.ContentLength;
string imgtype = file.PostedFile.ContentType;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
DataBase db = new DataBase();
DataSet ds ;
db.Open();
// check DB
string sqlcheck = " SELECT * FROM T_DMS_DOC ";
sqlcheck += " WHERE NodeId = '"+ DataBase.SqlItemTextChange(strNodeId) +"'";
sqlcheck += " AND DocName = '"+ DataBase.SqlItemTextChange(fileName) +"'";
sqlcheck += " AND DelStatus = 0"; // not deleted
db.ExecSQL(sqlcheck,"T_DMS_DOC",out ds); if(ds.Tables.Count!= 0 && ds.Tables[0].Rows.Count !=0)
{
throw new Exception("1011");
}
// Get Document ID
double randomStr = new System.Random().NextDouble()* 1000000000;
string docID = DateTime.Now.ToString("yyyyMMdd") + (Math.Floor(randomStr)).ToString(); // Insert File to DB
string sql = " INSERT INTO T_DMS_DOC (NodeId,DocId,Version,DocName,Content,Description,UpdDate,UpdUid,CheckOut,DelStatus) ";
sql += " VALUES( '"+ DataBase.SqlItemTextChange(strNodeId) +"','"+docID+"',1,'"+DataBase.SqlItemTextChange(fileName) +"',@imgdata,'"+DataBase.SqlItemTextChange(description)+"',GETDATE(),'"+DataBase.SqlItemTextChange(userId)+"',"+"'0','0')" ; SqlCommand command = new SqlCommand(sql,db.Connection ); SqlParameter paramData = new SqlParameter( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData ); try
{
// db.BeginTrans();
// Write Log
LogManager.WriteLog("Execute "+command.CommandText); int numRowsAffected = command.ExecuteNonQuery(); if(numRowsAffected !=1)
{
throw new Exception("1012");
} LogManager.WriteLog("Success"); //db.CommitTrans();
}
catch(Exception ex)
{
LogManager.WriteLog("Failure "+ ex.Message);
db.RollBack();
throw ex;
}
finally
{
db.Close();
}
}