我有以下代码:
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
}
它的设计是:
当我第一次单击“添加”按钮成功保存数据时出现的问题...第二次单击“添加”按钮时,它在下面显示错误。
类数据代码是:
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