请大家看看下面的代码为什么不能将数据存入数据库!谢谢了!
//.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