2011-03-31 71 views
0

我设计我的网页和图像存储在我的数据库错误(该项目是PhotoStudio中管理系统)Asp.net如何纠正

我的代码:

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Data.SqlClient; 

namespace photoshops 
    { 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      SqlDataAdapter da = new SqlDataAdapter(); 
      SqlConnection cnn = new SqlConnection(); 
      DataSet ds = new DataSet(); 
      string constr = null; 
      SqlCommand cmd = new SqlCommand(); 
      if (IsValid != true) 
      { 
       constr = @"Data Source=DEVI\SQLEXPRESS;Initial Catalog =cat; Integrated 
              Security=SSPI"; 
       cnn.ConnectionString = constr; 
       try 
       { 
        if (cnn.State != ConnectionState.Open) 
         cnn.Open(); 



       } 
       catch (Exception ex) 
       { 
        string str1 = null; 
        str1 = ex.ToString(); 
       } 
       cmd.Connection = cnn; 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.CommandText = "photoset"; 
       cmd.Parameters.Clear(); 
       cmd.Parameters.AddWithValue("@BillNo", TextBox1.Text); 
       cmd.Parameters.AddWithValue("@CustomerName", TextBox2.Text); 
       cmd.Parameters.AddWithValue("@Address", TextBox3.Text); 
       cmd.Parameters.AddWithValue("@StartDate",Rdbsdate.SelectedDate); 
       cmd.Parameters.AddWithValue("@EndDate", Rdbddate.SelectedDate); 
       SqlParameter param0 = new SqlParameter("@Systemurl", SqlDbType.VarChar, 
            50); 

       cmd.Parameters.AddWithValue("@Numberofcopies", TextBox7.Text); 
       cmd.Parameters.AddWithValue("@Amount", TextBox8.Text); 
       cmd.Parameters.AddWithValue("@Total", TextBox9.Text); 
       da.SelectCommand = cmd; 
       try 
       { 
        da.Fill(ds); 
       } 
       catch (Exception ex) 
       { 
        string strErrMsg = ex.Message; 
        //throw new applicationException("!!!! An error an occured while 
        //inserting record."+ex.Message) 
       } 
       finally 
       { 
        da.Dispose(); 
        cmd.Dispose(); 
        cnn.Close(); 
        cnn.Dispose(); 
       } 
       if (ds.Tables.Count > 0) 
       { 

        if (ds.Tables[0].Rows.Count > 0) 
        { 
         Msg.Text = "Photo setting sucessfullY"; 
        } 
        else 
        { 
         Msg.Text = "photosetting failled"; 
        } 
       } 
      } 
     } 
    } 
    } 

我的错误 记录不存储,图像不存储如何更改我的代码。

+6

通过所有意味着要求帮助,但请不要说像*发送给我的代码* - 这被认为是粗鲁的。 – slugster 2011-03-31 06:17:14

+0

是的。请注意堆栈溢出时重点放在**问题**上。你在寻求帮助,而不是要求。 – 2011-03-31 06:21:02

+0

@Tieson T对不起我的错误 – vimal 2011-03-31 06:45:41

回答

1

首先,你没有保存图像,你正在保存你的计算机的路径。 您需要保存照片的字节数组。

简而言之: 上传它,你选择图像 PIC其字节阿雷上传控件,您可以上传照片 的二进制内容,然后你只把它作为一个简单的参数cmd.Parameters.Add( “@pic”,pic);

public void OnUpload(Object sender, EventArgs e) 
{ 
    // Create a byte[] from the input file 

    int len = Upload.PostedFile.ContentLength; 
    byte[] pic = new byte[len]; 
    Upload.PostedFile.InputStream.Read (pic, 0, len); 
    // Insert the image and comment into the database 

    SqlConnection connection = new 
     SqlConnection (@"server=INDIA\INDIA;database=iSense;uid=sa;pwd=india"); 
    try 
    { 
     connection.Open(); 
     SqlCommand cmd = new SqlCommand ("insert into Image " 
      + "(Picture, Comment) values (@pic, @text)", connection); 
     cmd.Parameters.Add ("@pic", pic); 
     cmd.Parameters.Add ("@text", Comment.Text); 
     cmd.ExecuteNonQuery(); 
    } 
    finally 
    { 
     connection.Close(); 
    } 
} 

这里有一些教程,第一个链接是非常简单和代码的简单 http://www.codeproject.com/KB/web-image/PicManager.aspx

另外,以防万一: http://www.redmondpie.com/inserting-in-and-retrieving-image-from-sql-server-database-using-c/

主要资源:http://www.codeproject.com/KB/web-image/PicManager.aspx