如何实现word文件上传到Sql Server数据库,库中字段为text型?急救!!!在线等!

chinanewway 2003-11-03 10:41:37
我的代码如下:
//上传文件
if(UP_File.PostedFile!=null)
{
SqlConnection con=new SqlConnection(strConn2);
int textdatalen=UP_File.PostedFile.ContentLength;
string texttype=UP_File.PostedFile.ContentType;
Stream textdatastream=UP_File.PostedFile.InputStream;
// System.IO.FileMode.
byte[] textdata=new byte[textdatalen];
textdatastream.Read(textdata,0,textdatalen);
string strSqlCount="select count(*) as Count from cx_jjsqb where bh='"+maxbh+"'";
int Count=BaseSql.IfExitSql(strSqlCount);
SqlCommand command=new SqlCommand();
command.CommandType=CommandType.Text;
command.Connection=con;
if(Count==0)
command.CommandText="Insert into cx_jjsqb(bh,sqwj) Values(@maxbh,@sqwj)";
else
command.CommandText="Update cx_jjsqb Set sqwj=@sqwj where bh=@maxbh";
SqlParameter parambh=new SqlParameter("@maxbh",SqlDbType.Char,10);
parambh.Value=maxbh;
command.Parameters.Add(parambh);
SqlParameter paramsqwj=new SqlParameter("@sqwj",SqlDbType.Text);
paramsqwj.Value=textdata;
command.Parameters.Add(paramsqwj);
con.Open();
int RowsAffected=command.ExecuteNonQuery();
con.Close();
}
else
Response.Write("<script language='JavaScript'>alert('上传文件不能为空!');</script>");
编译错误如下:
对象必须实现 IConvertible。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidCastException: 对象必须实现 IConvertible。

源错误:


行 193: command.Parameters.Add(paramsqwj);
行 194: con.Open();
行 195: int RowsAffected=command.ExecuteNonQuery();
行 196: con.Close();
行 197: }

...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinanewway 2003-11-03
  • 打赏
  • 举报
回复
说的是数据库已经订了,那个字段必须是文本类型,至于image类型我知道怎么作,还有谁能帮帮我?
wincf 2003-11-03
  • 打赏
  • 举报
回复
text type can not implement your requirement.
image type will be ok.

see

http://mail.ustc.edu.cn/~jtwu/jtwu/programs.htm
chinanewway 2003-11-03
  • 打赏
  • 举报
回复
为什么没人给我指点迷津,我好急哦,那位好心的大哥大姐帮帮我吧!
chinanewway 2003-11-03
  • 打赏
  • 举报
回复
用下列代码可以实现txt文件的正常入库,但是doc文件会出现乱码,谁能告诉我咱回事?!
SqlConnection con=new SqlConnection(strConn2);
string filename=UP_File.PostedFile.FileName;
StreamReader sr=new StreamReader(filePath,Encoding.Default,true);
String doc=sr.ReadToEnd();
sr.Close();
SqlCommand command=new SqlCommand();
command.CommandType=CommandType.Text;
command.Connection=con;
command.CommandText="Update cx_jjsqb Set sqwj=@sqwj where bh=@maxbh";
SqlParameter parambh=new SqlParameter("@maxbh",SqlDbType.Char,10);
parambh.Value=maxbh;
command.Parameters.Add(parambh);
SqlParameter paramsqwj=new SqlParameter("@sqwj",SqlDbType.Text);
paramsqwj.Value=doc;
command.Parameters.Add(paramsqwj);
con.Open();
int RowsAffected=command.ExecuteNonQuery();
con.Close();
wincf 2003-11-03
  • 打赏
  • 举报
回复
数据库这样要求不合理
看来你只能在里面存图片的路径,然后按路径读取图片了
chinanewway 2003-11-03
  • 打赏
  • 举报
回复
数据库是这样要求的,没办法啊,而且数据量不大,应该对数据库不会造成很大的压力。还有谁能帮我呀?救命啊!!!
nanker 2003-11-03
  • 打赏
  • 举报
回复
为什么一定要上传到数据库?
这样文档多了不是很麻烦,最好只将文档上传到服务器的某个文件目录下,数据库中只存该文档的路径。

110,536

社区成员

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

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

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