2011-03-31 58 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