谁能帮我看一下这个文件有什么问题,为什么信息保存不到数据库里去呢?using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;namespace GoodsShop
{
/// <summary>
    /// AddGoods 的摘要说明。
/// </summary>
    public partial class AddGoods : System.Web.UI.Page
{        DBProjectGuide.GoodsType myGoodsType = new DBProjectGuide.GoodsType();
DBProjectGuide.Goods myGoods=new DBProjectGuide.Goods();
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
DropBind();
ViewState["PostFileName"]="";
}
} /// <summary>
/// Binding GoodsType To ddl_GoodsType
/// </summary>
        /// 进行物品类型DataGrid数据绑定
private void DropBind()
{
DataView Mydv;
            Mydv = myGoodsType.GetGoodsType();
ddl_GoodsType.DataSource =Mydv;
ddl_GoodsType.DataBind();
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.ib_savecontinue.Click += new System.Web.UI.ImageClickEventHandler(this.ib_savecontinue_Click);
this.ib_saveexit.Click += new System.Web.UI.ImageClickEventHandler(this.ib_saveexit_Click);
this.ib_exit.Click += new System.Web.UI.ImageClickEventHandler(this.ib_exit_Click); }
#endregion        //“上传”按钮单击事件处理函数
protected void btn_PostUp_Click(object sender, System.EventArgs e)
{
string Path;
string FileName;
int Po;
long FileSize;
string fType;
if(File1.PostedFile.FileName.Trim()!="")  //PostFile's Filename is not empty
{
try
{
                    //获取用户上传文件的信息
Path=Server.MapPath("UpFile").ToString();
FileName=File1.PostedFile.FileName.ToString();
fType=File1.PostedFile.ContentType; 
FileSize=File1.PostedFile.ContentLength;  
if(fType.Substring(0,5)!="image")
{
ShowErrMsg("未找到该图片!");
return;
}
Po=FileName.LastIndexOf((char)92);
FileName=FileName.Substring(Po+1,FileName.Length -Po-1);
ViewState["PostFileName"]=FileName;   
                    //将用户上传文件保存到服务器上
File1.PostedFile.SaveAs(Path+"\\"+FileName);
                    img_GoodsImg.ImageUrl = "\\UpFile\\" + FileName;
}
catch(Exception er)
{
ShowErrMsg(er.Message);
}
}
} /// <summary>
/// Push Dialog,Show error message
/// </summary>
/// <param name="err">Error Message Detail</param>
private void ShowErrMsg(string err)
{
string str;
str="<script language='javascript'>";
str+=" alert('" +err + "')";
str+="</script>";
ErrMsg.Visible=true;
ErrMsg.Text=str;

}
        private void SAddGoods()
{
ArrayList arr;
int ImageSize=0;
byte[] ImageBuffer;
string FileName;
FileInfo TpFile;
FileStream fs=null;            FileName = Server.MapPath("\\UpFile").ToString().Trim() + "\\" + ViewState["PostFileName"];
TpFile=new FileInfo(FileName);
ImageSize=(int)TpFile.Length;
try
{
    fs=new FileStream(FileName,FileMode.OpenOrCreate);
BinaryReader r=new BinaryReader(fs);
r.BaseStream.Seek(0,SeekOrigin.Begin);
ImageBuffer=r.ReadBytes(ImageSize);
arr=new ArrayList();
arr.Add(tb_GoodsName.Text.Trim());
arr.Add(ddl_GoodsType.SelectedItem.Value.ToString());
arr.Add(tb_Price.Text.Trim());
arr.Add(tb_Discount.Text.Trim());
arr.Add(ImageBuffer);
arr.Add(DBProjectGuide.Functions.Encode(tb_Description.Text.Trim()));
arr.Add("0");
arr.Add("0");
arr.Add(false);
                myGoods.AddGoods(arr);
}
catch(Exception er)
{
throw new Exception(er.Message);
}
finally
{
fs.Close();
} }        //“退出“按钮单击事件
private void ib_exit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{ Response.Redirect("GoodsManage.aspx");

}
        //“保存并退出”按钮单击事件
private void ib_saveexit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
try
            {
                
                SAddGoods();
                Response.Redirect("GoodsManage.aspx");
}
catch(Exception er)
{
                ShowErrMsg(er.Message);
}

}        //“保存”按钮单击事件
private void ib_savecontinue_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
try
            {
                SAddGoods();
tb_GoodsName.Text ="";
ddl_GoodsType.SelectedIndex=0;
tb_Price.Text="";
tb_Discount.Text="";
img_GoodsImg.ImageUrl="img/pic.jpg";
tb_Description.Text="";
}
catch(Exception er)
{
ShowErrMsg(er.Message);
}

}
}
}文件的页面是这样的:
名称:   类型:
价格:   产品介绍:  封面图片:____浏览 上传(按钮, 这个按钮的功能是只将图片显示在前台页面上) 这有一块显示图片的区域
保存(按钮,用于将信息保存到数据库中) 退出(按钮) 

解决方案 »

  1.   

    sql server 一般保存文件路径
    Oracle 直接保存,用大对象类型即可
      

  2.   


    byte[] bytes=new byte[FileUpload1.postedfile.inputstream.length];//保存图片的字节数组
    fileupload1.postedfile.inputstream.read(bytes,0,bytes.length);
    //插入数据库
    SqlConnection conn;
    SqlCommand cmd;
    cmd.CommandText="Insert into test([image]) values(@image)";
    cmd.parameters.add(new sqlparameter("@image",sqldbtype.binary));
    cmd.parameters["@image"].value=bytes;
    conn.open();
    cmd.executenonquery();
    conn.close();
    //调出图片在页面显示
    SqlConnection conn;
    SqlCommand cmd;
    SqlDataReader reader;
    cmd.CommandText="Select [image] from test";
    conn.open();
    reader=cmd.executeReader(commandbehavior.closeconnection);
    response.clear();
    response.contenttype="image/jpeg";
    response.binaryWrite([byte[]]reader["image"]);
      

  3.   


    try
            {
                SqlConnection con = db.createcon();
                con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                string fullName = this.FileUpload1.PostedFile.FileName;
                if (fullName != "")
                {
                    string fileName = fullName.Substring(fullName.LastIndexOf("\\") + 1);
                    string fileExpert = fullName.Substring(fullName.LastIndexOf(".") + 1).ToLower();
                    if (fileExpert == "pdf" || fileExpert=="doc")
                    {
                        HttpPostedFile upFile = this.FileUpload1.PostedFile;
                        Int32 filelen = upFile.ContentLength;
                        byte[] fileData = new byte[filelen];//用图片的长度来初始化一个字节数组存储临时的图片文件
                        Stream fileStream = upFile.InputStream;//建立文件流对象
                        fileStream.Read(fileData, 0, filelen);//读取图片数据到临时存储体fileByte,0为数据指针位置,fileLength为数据长度
                        cmd.CommandText = "select SampleCode from TGoodSampleCode where SampleCode=" + this.Label1.Text;
                        string YCode = cmd.ExecuteScalar().ToString();
                        if (YCode != "")
                        {
                                cmd.CommandText = "update TGoodSampleCode set GResult=@GResult where SampleCode='"+this.Label1.Text+"'";
                                SqlParameter spr4 = cmd.Parameters.Add("@GResult", SqlDbType.Image);
                                spr4.Value = fileData;
                            cmd.ExecuteNonQuery();
                            Response.Write("<script>window.alert('上传成功!')</script>");
                        }
                        else
                        {
                            Response.Write("<script>window.alert('请先填写并保存抽样单信息')</script>");
                        }
                        con.Close();
                    }
                    else
                    {
                        Response.Write("<script language=javascript>window.alert('文件格式不对,只允许pdf文件和doc文件!')</script>");
                    }
                }
            }
            catch (Exception error)
            {
                Response.Write("<script>window.alert(\"" + error.ToString() + "\");</script>");
            }最讨厌看老长的一段代码了,上面是个例子,LZ自己看看吧