被指定的转换无效困扰!!

dahuaxiyou601 2009-04-12 05:25:05
using (OracleConnection conn = DB.createConnection())
{

OracleCommand comm = conn.CreateCommand();
comm.Connection.Open();
try
{
string filename = Request.QueryString["filename"];
string tablename = Request.QueryString["tablename"];

comm.CommandText = "select * from " + tablename + " where filename='" + filename + "'";
OracleDataReader objReader = comm.ExecuteReader();

//string strcmd = "select * from " + tablename + " where filename='" + filename + "'";
//System.Data.OracleClient.OracleCommand objCommand = new System.Data.OracleClient.OracleCommand(strcmd, conn);
//conn.Open();
//objReader = objCommand.ExecuteReader();

if (objReader.Read())
{
Response.AddHeader("Content-Disposition", "attachment; filename=" + objReader["filename"].ToString());
Response.AppendHeader("Contenttype", "application/msword");
//读取数据
byte[] buffer = new Byte[10240];
//long datalen = objReader.GetBytes(3, 0, null, 0, 0);//["filedata"]


long datalen;
datalen = objReader.GetBytes(3, 0, null, 0, 0);//["filedata"] 这里出错,指定的转换无效

//Response.Write("datalen=" + datalen.ToString());
//*
long curPos = 0;
long readsize = 0;

readsize = objReader.GetBytes(3, curPos, buffer, 0, 10240);
while (readsize == 10240)
{
curPos += readsize;
Response.BinaryWrite(buffer);
Response.Flush();
readsize = objReader.GetBytes(3, curPos, buffer, 0, 10240);
}
byte[] rBuf = new Byte[readsize];
objReader.GetBytes(3, curPos, rBuf, 0, (int)readsize);
Response.BinaryWrite(rBuf);
Response.Flush();

//*/

}

}
finally
{
//if (objReader != null) objReader.Close();
conn.Close();
}
}
...全文
74 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
SaintKaKa 2009-04-13
  • 打赏
  • 举报
回复
long datalen; // 这里定义变量datalen是long型
datalen = objReader.GetBytes(3, 0, null, 0, 0);// 这里用GetBytes方法取值后赋给变量datalen,应该是赋给变量buffer 吧?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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