如何清除asp.net中的错误

时间:2011-05-18 08:20:59

标签: c# .net asp.net ado.net

我设计了我的网页页面已运行,但值未存储在数据库中

错误:

  

从Hdr_AccountType获取数据时发生错误。

     

从对象类型System.Web.UI.WebControls.ListItem到已知的托管提供程序本机类型不存在映射。

protected void btnSave_Click(object sender, EventArgs e)
{
    Int32 st;
    int len = browser.PostedFile.ContentLength;
    byte[] pic = new byte[len];
    browser.PostedFile.InputStream.Read(pic, 0, len);

    SqlCommand Cmd = new SqlCommand();
    SqlConnection Cnn = new SqlConnection();
    string ConnectionString;
    ConnectionString = ConfigurationManager.ConnectionStrings["PhotostudioConnectionString"].ConnectionString;

    Cnn.ConnectionString = ConnectionString;
    if (Cnn.State != ConnectionState.Open)
        Cnn.Open();
    Cmd.Connection = Cnn;
    Cmd.CommandType = CommandType.StoredProcedure;
    Cmd.CommandText = "sproc_Ins_ManualPhotoSettingsDetails";
    Cmd.Parameters.Clear();
    // Cmd.Parameters.AddWithValue("@Id", txtBillNo.Text);
    Cmd.Parameters.AddWithValue("@Name", txtName.Text);
    Cmd.Parameters.AddWithValue("@Phoneno", txtPhoneno.Text);
    Cmd.Parameters.AddWithValue("@Startdate", rdpDate.SelectedDate); 
    Cmd.Parameters.AddWithValue("@Enddate", rdpDelivDate.SelectedDate);
    Cmd.Parameters.Add("@Systemurl", SqlDbType.Image).Value = pic;
    SqlParameter Src = new SqlParameter("@FilePath", SqlDbType.NVarChar, 450);
    Src.Value = browser.PostedFile.FileName;
    Cmd.Parameters.Add(Src);
    Cmd.Parameters.AddWithValue("@Work", TextBox1.Text);
    Cmd.Parameters.AddWithValue("@Size", cmbSize.SelectedItem);
    Cmd.Parameters.AddWithValue("@Rate", txtRate.Text);
    Cmd.Parameters.AddWithValue("@Noofcopies", txtNoofcopies.Text);
    Cmd.Parameters.AddWithValue("@Total", txtTotal.Text);
    Cmd.Parameters.AddWithValue("@Paidamount", txtPaid.Text);
    Cmd.Parameters.AddWithValue("@Balance", txtbal.Text);


    try
    {
        st = Convert.ToInt32(Cmd.ExecuteScalar());

    }
    catch (Exception ex)
    {            
        throw new ApplicationException("An Error Occured While getting Data From Hdr_AccountType." + ex.Message);
        lblError.Visible = true;
        lblError.Text = "An Error Occured While " + ex.Message.ToString();
        return;
    }
    Cmd.Dispose();

1 个答案:

答案 0 :(得分:3)

这不是关于清算......你需要知道你为什么:

  

没有映射      对象类型System.Web.UI.WebControls.ListItem到已知的托管提供者本机类型。

我敢打赌,您需要使用cmbSize.SelectedItem.Value代替cmbSize.SelectedItem

顺便说一句,将数据库访问放在页面中是一个非常糟糕的概念,您应该创建一个仅用于处理数据库部分的类。