单击两次按钮显示“ConnectionString属性尚未初始化”

时间:2013-08-16 10:48:08

标签: asp.net gridview

我有以下代码:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class supervissions_pages_JwelOrder : System.Web.UI.Page
{
    #region variable
    ClassData clsDt = new ClassData();
    SqlDataAdapter da;
    DataSet ds;
    #endregion
    #region events
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGrid();

        }
        Session["MbrId"] = "LYM47336163";
    }

    protected void grdView_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        grdView.EditIndex = -1;
        BindGrid();
    }
    protected void grdView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName.Equals("Add"))
        {
            DropDownList item = (DropDownList)grdView.FooterRow.FindControl("ddlParticular_F");
            TextBox quantity = (TextBox)grdView.FooterRow.FindControl("txtQuantity_F");
            TextBox rate = (TextBox)grdView.FooterRow.FindControl("txtRate_F");
            TextBox SerialCode = (TextBox)grdView.FooterRow.FindControl("txtSerial_F");

            addJwelOrder(txtMbrid.Text, txtDate.Text, item.Text, quantity.Text, rate.Text, SerialCode.Text);
                grdView.EditIndex = -1;
            BindGrid();
        }
    }
    protected void grdView_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {

    }
    protected void grdView_RowEditing(object sender, GridViewEditEventArgs e)
    {
        grdView.EditIndex = e.NewEditIndex;
        BindGrid();
        DropDownList item = (DropDownList)grdView.FooterRow.FindControl("ddlParticular_F");
        ddparticular(item);
    }
    protected void grdView_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {

    }
    protected void txtMbrid_TextChanged(object sender, EventArgs e)
    {
        using (clsDt.sqlCnn)
        {
            clsDt.sqlCnn.Open();
            SqlCommand cmd = new SqlCommand("SELECT MBR_NM FROM MBR_MST WHERE MBR_ID = @name", clsDt.sqlCnn);
            cmd.Parameters.Add("@name", txtMbrid.Text);
            DataTable dtt = new DataTable();
            string strname = (string)cmd.ExecuteScalar();
            if (!string.IsNullOrEmpty(strname))
            {
                txtMbrNm.Text = strname;
            }
        }
    }
    protected void txtDate_TextChanged(object sender, EventArgs e)
    {
        BindGrid();
    }

    protected void grdView_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Footer)
        {
            var particular = e.Row.FindControl("ddlParticular_F") as DropDownList;
            if (null != particular)
            {
                ddparticular(particular);
            }
        }
    }
    #endregion
    #region functions
    protected void BindGrid()
    {
        using (clsDt.sqlCnn)
        {
            clsDt.sqlCnn.Open();
            SqlCommand cmd = new SqlCommand("USP_CRUD_JWELORDERS", clsDt.sqlCnn);
            cmd.Parameters.Add(new SqlParameter("@operation", SqlDbType.VarChar, 20));
            cmd.Parameters["@operation"].Value = "Display";
            cmd.CommandType = CommandType.StoredProcedure;
            //grdView.DataSource = cmd.ExecuteReader();
            //grdView.DataBind();

            DataTable dt = new DataTable();
            dt.Load(cmd.ExecuteReader());
            grdView.DataSource = dt;
            grdView.DataBind();
        }
    }
    protected void addJwelOrder(string strMemberID, string strDate, string strParticular, string strQuantity, string strRate, string serialCode)
    {
        using (clsDt.sqlCnn)
        {
            clsDt.sqlCnn.Open();
            SqlCommand cmd = new SqlCommand("USP_CRUD_JWELORDERS", clsDt.sqlCnn);
            cmd.Parameters.Add(new SqlParameter("@Operation", SqlDbType.VarChar, 10));
            cmd.Parameters.Add(new SqlParameter("@memberid", SqlDbType.VarChar, 20));
            cmd.Parameters.Add(new SqlParameter("@orderdt", SqlDbType.DateTime));
            cmd.Parameters.Add(new SqlParameter("@item", SqlDbType.VarChar, 3));
            cmd.Parameters.Add(new SqlParameter("@orderqty", SqlDbType.VarChar,20));
            cmd.Parameters.Add(new SqlParameter("@rte", SqlDbType.VarChar, 8));
            cmd.Parameters.Add(new SqlParameter("@serealcode", SqlDbType.VarChar, 20));

            cmd.Parameters.Add(new SqlParameter("@franchise_code", SqlDbType.VarChar, 20));
            cmd.Parameters.Add(new SqlParameter("@orderid", SqlDbType.VarChar, 20));

            cmd.Parameters["@Operation"].Value = "Add";
            cmd.Parameters["@memberid"].Value = strMemberID;
            cmd.Parameters["@orderdt"].Value = strDate;
            cmd.Parameters["@item"].Value = strParticular;
            cmd.Parameters["@orderqty"].Value = strQuantity;
            cmd.Parameters["@rte"].Value = strRate;
            cmd.Parameters["@serealcode"].Value = serialCode;
            cmd.Parameters["@franchise_code"].Value = Session["MbrId"].ToString();
            cmd.Parameters["@orderid"].Value = clsDt.getDataTable("SELECT RIGHT(1000000+(MAX(JWL_ORID) + 1),6) AS orderid FROM JWL_ORD_MST").Rows[0][0].ToString();
            cmd.CommandType = CommandType.StoredProcedure;

            da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds);
        }
    }
    protected void ddparticular(DropDownList ddlParticular)
    {
        DataTable dt = new DataTable();
        ddlParticular.DataSource = clsDt.getDataTable("SELECT COM_CMCD,COM_CMNM FROM COM_MST WHERE COM_CMCD = (SELECT COM_CMCD FROM COM_TYP WHERE COM_CTNM = 'Jewellery')");
        ddlParticular.DataTextField = "COM_CMNM";
        ddlParticular.DataValueField = "COM_CMCD";
        ddlParticular.DataBind();
    }

    protected void Delete(string id)
    {
        using (clsDt.sqlCnn)
        {
            clsDt.sqlCnn.Open();
            SqlCommand cmd = new SqlCommand("USP_CRUD_JWELORDERS", clsDt.sqlCnn);
            cmd.Parameters.Add(new SqlParameter("@Operation", SqlDbType.VarChar, 10));
            cmd.Parameters.Add(new SqlParameter("@si", SqlDbType.Int));

            cmd.Parameters["@Operation"].Value = "Delete";
            cmd.Parameters["@si"].Value = id;
            cmd.CommandType = CommandType.StoredProcedure;
            da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds);
        }
    }
    protected void updatemail(string strSi, string strParticular, string strQuantity, string strRate, string serialCode)
    {
        using (clsDt.sqlCnn)
        {
            clsDt.sqlCnn.Open();
            SqlCommand cmd = new SqlCommand("USP_CRUD_JWELORDERS", clsDt.sqlCnn);
            cmd.Parameters.Add(new SqlParameter("@Operation", SqlDbType.VarChar, 10));
            cmd.Parameters.Add(new SqlParameter("@item", SqlDbType.VarChar, 3));
            cmd.Parameters.Add(new SqlParameter("@orderqty", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("@rte", SqlDbType.VarChar, 8));
            cmd.Parameters.Add(new SqlParameter("@serealcode", SqlDbType.VarChar, 20));
            cmd.Parameters.Add(new SqlParameter("@si", SqlDbType.Int));
            cmd.Parameters["@Operation"].Value = "Update";
            cmd.Parameters["@item"].Value = strParticular;
            cmd.Parameters["@orderqty"].Value = strQuantity;
            cmd.Parameters["@rte"].Value = strRate;
            cmd.Parameters["@serealcode"].Value = serialCode;
            cmd.Parameters["@si"].Value = strSi;
            cmd.CommandType = CommandType.StoredProcedure;
            da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds);
        }
    }

    #endregion

}

并为它设计:

enter image description here

当我第一次点击添加按钮成功保存数据时出现此问题...  第二次单击“添加”按钮时,它会显示以下错误。

enter image description here

classData代码是:

Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Imports System.Data
Public Class ClassData
    Private sqlstring As String
    Private Com As SqlCommand
    Private dmlString As String
    Private sqlDr As SqlDataReader
    Public sqlCnn As New SqlConnection(ConfigurationManager.ConnectionStrings("ConString").ToString())


    Public Function getRandomVal() As String
        Dim str As String
        Dim rnd As New Random
        str = rnd.Next(111111, 999999)
        Return str
    End Function

    Public Function getDataTable(ByVal qry As String) As DataTable

        If sqlCnn.State <> ConnectionState.Open Then sqlCnn.Open()
        Dim sqlCmd As New SqlCommand(qry, sqlCnn)

        Dim dt As New DataTable
        ' Dim sqldt As New SqlDataAdapter(qry, sqlCnn)
        ' Com.Connection = sqlCnn
        sqlCmd.CommandTimeout = 150000

        sqlDr = sqlCmd.ExecuteReader()
        ' sqldt.Fill(dt)
        dt.Load(sqlDr)
        sqlDr.Close()
        If sqlCnn.State = ConnectionState.Open Then sqlCnn.Close()
        Return dt
    End Function

    Public Function executeQuery(ByVal strQry As String) As Integer

        If sqlCnn.State <> ConnectionState.Open Then sqlCnn.Open()
        Dim sqlCmd As New SqlCommand(strQry, sqlCnn)
        sqlCmd.CommandTimeout = 1500
        ' Com.Connection = sqlCnn
        'Com.CommandTimeout = 15000
        'sqlDr = sqlCmd.ExecuteReader()
        Dim int = sqlCmd.ExecuteNonQuery()
        If sqlCnn.State = ConnectionState.Open Then sqlCnn.Close()
        Return int
    End Function
    'Public Function executeQuery(ByVal strQry As String) As DataTable
    '    Dim dt As New DataTable
    '    If sqlCnn.State <> ConnectionState.Open Then sqlCnn.Open()
    '    Dim sqlCmd As New SqlCommand(strQry, sqlCnn)
    '    dt = sqlCmd.ExecuteReder()
    '    If sqlCnn.State = ConnectionState.Open Then sqlCnn.Close()
    '    Return
    'End Function
End Class

0 个答案:

没有答案
相关问题