请大家看看下面的代码为什么不能将数据存入数据库!谢谢了!

airclli 2006-04-09 12:08:00
//.aspx后台代码
string strDocExt;//获取文件后缀名
string strDocType;
int intDocLen;
Stream objStream;
SqlConnection conn;
SqlCommand cmd;


if(IsValid)
{
if(txtFileContents.PostedFile !=null)
{
int pos = txtFileContents.PostedFile.FileName.LastIndexOf(".");
strDocExt = txtFileContents.PostedFile.FileName.Substring (pos,txtFileContents.PostedFile.FileName.Length-pos).ToLower();//取文件后缀名

switch(strDocExt)
{
case ".doc":
strDocType="doc";break;
case ".ppt":
strDocType="ppt";break;
default:
strDocType="txt";break;
}

intDocLen = txtFileContents.PostedFile.ContentLength;
byte [] Docbuffer = new byte[intDocLen];//
objStream = txtFileContents.PostedFile.InputStream;
objStream.Read(Docbuffer,0,intDocLen);//读入缓存中

conn = new SqlConnection("connStr");
cmd= new SqlCommand("usp_Resource",conn);

cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Resource_Title",SqlDbType.NVarChar,200);
cmd.Parameters.Add("@Resource",SqlDbType.Image);
cmd.Parameters.Add("@Resource_Type",SqlDbType.NVarChar,50);

cmd.Parameters[0].Value = txtTitle.Text;
cmd.Parameters[1].Value = Docbuffer;
cmd.Parameters[2].Value = strDocType;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}

//存储过程代码
create Procedure dbo.usp_Resource

@Resource_Title nvarchar(200),
@Resource Image,
@Resource_Type nvarchar(50)

AS
insert into Resource(Resource_Title,Resource,Resource_Type)
Values(@Resource_Title,@Resource,@Resource_Type)
GO
...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ying1234 2006-04-09
  • 打赏
  • 举报
回复
昨晚我也写了和你一样的程序,碰到一样的问题,但我的和你有些不一样,首先,你的input type=file 是html,不是html控件,这样吧,我把我的解决方法说一下,看看你的是不是和我一样:
1:看看前端页面form 里 enctype="multipart/form-data"是不是写上了。
2:<input type=file name="file1">,一定要有name 属性,否则后台得不到上传文件,不过你用的好象是html控件,可以试试看。
airclli 2006-04-09
  • 打赏
  • 举报
回复
我前台代码是:
<%@ Page language="c#" Codebehind="upload_re.aspx.cs" AutoEventWireup="false" Inherits="WiteFile.upload_re" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>upload_re</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<span>标题</span><br>
<asp:textbox id="txtTitle" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 8px" runat="server"
Width="184px" Height="23px" EnableViewState="False"></asp:textbox><asp:requiredfieldvalidator id="valrTitle" ControlToValidate="txtTitle" ErrorMessage="*Required" Runat="server">*Requried</asp:requiredfieldvalidator><br>
<br>
<span>上传原文件</span><br>
<input id="txtFileContents" type="file" name="txtFileContents" runat="server">
<br>
<br>
<asp:button id="btnSubmit" Runat="server" Text="确定"></asp:button></form>
</body>
</HTML>
好像是缓存有问题。我怎样能确定缓存中是否有数据?
自由人2008 2006-04-09
  • 打赏
  • 举报
回复
真的没看出来有什么问题,报错吗?

62,254

社区成员

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

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

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

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