无法绑定GridView [英] not able to bind gridview

查看:56
本文介绍了无法绑定GridView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此代码中,我无法绑定gridview.
将记录保存到数据库时,将保存两次.

请检查我的代码并更正.
我找不到问题.

In this code I''m not able to bind gridview.
When record is saving to database, it is saving two times.

Please check my code and correct it.
I cannot find the problem.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace Insurance
{
    public partial class Create_New_Customer : System.Web.UI.Page
    {
        DataSet ds = new DataSet();
        SqlConnection con;
        SqlCommand cmd = new SqlCommand();
        SqlParameter sp1 = new SqlParameter();
        SqlParameter sp2 = new SqlParameter();
        SqlParameter sp3 = new SqlParameter();
        SqlParameter sp4 = new SqlParameter();
        SqlParameter sp5 = new SqlParameter();
        SqlParameter sp6 = new SqlParameter();
        SqlParameter sp7 = new SqlParameter();
      
        protected void Page_Load(object sender, EventArgs e)
        {
         }
        protected void btnSave_Click1(object sender, EventArgs e)
        { con = new SqlConnection("Data Source=NSEZ-DD4-028;Initial Catalog=Insurance;Integrated Security= SSPI");
         
            cmd = new SqlCommand("Create_Customer", con);
            cmd.CommandType = CommandType.StoredProcedure;
            con.Open();
            cmd.Connection = con;
            cmd.Parameters.Add("@First_Name", SqlDbType.VarChar).Value = txtFirstName.Text.ToString();
            cmd.Parameters.Add("@Last_Name", SqlDbType.VarChar).Value = txtLastName.Text.ToString();
            cmd.Parameters.Add("@Address1", SqlDbType.VarChar).Value = txtAddress.Text.ToString();
            cmd.Parameters.Add("@City", SqlDbType.VarChar).Value = txtCity.Text.ToString();
            cmd.Parameters.Add("@State", SqlDbType.VarChar).Value = txtState.Text.ToString();
            cmd.Parameters.Add("@Zip", SqlDbType.Int).Value = txtZip.Text;
            cmd.Parameters.Add("@Country", SqlDbType.VarChar).Value = txtCountry.Text.ToString();
            SqlDataReader MyDataReader = cmd.ExecuteReader();
          
            MyDataReader.Close();
            cmd.ExecuteNonQuery();
            con.Close();


            con = new SqlConnection("Data Source=NSEZ-DD4-028;Initial Catalog=Insurance;Integrated Security= SSPI");
         
            cmd = new SqlCommand("Create_Customer_All", con);
            cmd.CommandType = CommandType.StoredProcedure;
            con.Open();
            cmd.Connection = con;
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            adapter.Fill(ds);
            gridviewCustomer.DataSource = ds;
            gridviewCustomer.DataBind();
            con.Close();
      }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            txtFirstName.Text = "";
            txtLastName.Text = "";
            txtAddress.Text = "";
            txtCity.Text = "";
            txtState.Text = "";
            txtZip.Text = "";
            txtCountry.Text = "";
        }
        protected void btnMainWindow_Click(object sender, EventArgs e)
        {
            Response.Redirect("Main.aspx");
       }
        protected void txtCity_TextChanged(object sender, EventArgs e)
        {
        }
}
}

推荐答案

更改以下行:
Change the following line:
gridviewCustomer.DataSource = ds;
           gridviewCustomer.DataBind();






to

gridviewCustomer.DataSource = ds.Tables[0];
// OR
// gridviewCustomer.DataSource = ds.Tables["myTable"];
           gridviewCustomer.DataBind();




要执行executenonquery时不需要SQLDataReader

还要删除以下代码行.
SqlDataReader MyDataReader = cmd.ExecuteReader();

MyDataReader.Close();
Hi,

you don''t need the SQLDataReader when you want to execute the executenonquery

Remove the following lines of code also.
SqlDataReader MyDataReader = cmd.ExecuteReader();

MyDataReader.Close();


/*使用像它一样希望您的问题能得到解决*/


使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControls;
使用System.Data.SqlClient;
使用System.Data;
命名空间保险
{
公共局部类Create_New_Customer:System.Web.UI.Page
{
DataSet ds = new DataSet();
SqlConnection con;
SqlCommand cmd =新的SqlCommand();
SqlParameter sp1 =新的SqlParameter();
SqlParameter sp2 =新的SqlParameter();
SqlParameter sp3 =新的SqlParameter();
SqlParameter sp4 =新的SqlParameter();
SqlParameter sp5 =新的SqlParameter();
SqlParameter sp6 =新的SqlParameter();
SqlParameter sp7 =新的SqlParameter();

受保护的void Page_Load(对象发送者,EventArgs e)
{


if(!IsPostBack)
{
BindGridView();
}

}
受保护的无效btnSave_Click1(对象发送者,EventArgs e)
{
con = new SqlConnection("Data Source = NSEZ-DD4-028;

初始目录=保险;集成安全性= SSPI);

cmd =新的SqlCommand("Create_Customer",con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Connection = con;
cmd.Parameters.Add("@ First_Name",SqlDbType.VarChar).Value = txtFirstName.Text.ToString();
cmd.Parameters.Add("@ Last_Name",SqlDbType.VarChar).Value = txtLastName.Text.ToString();
cmd.Parameters.Add("@ Address1",SqlDbType.VarChar).Value = txtAddress.Text.ToString();
cmd.Parameters.Add("@ City",SqlDbType.VarChar).Value = txtCity.Text.ToString();
cmd.Parameters.Add("@ State",SqlDbType.VarChar).Value = txtState.Text.ToString();
cmd.Parameters.Add("@ Zip",SqlDbType.Int).Value = txtZip.Text;
cmd.Parameters.Add("@ Country",SqlDbType.VarChar).Value = txtCountry.Text.ToString();
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Clear();
BindGridView();



}
虚空BindGridView()
{
con = new SqlConnection(数据源= NSEZ-DD4-028;初始目录=保险;集成安全性= SSPI");

cmd =新的SqlCommand("Create_Customer_All",con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Connection = con;
SqlDataAdapter适配器=新的SqlDataAdapter(cmd);
adapter.Fill(ds);
gridviewCustomer.DataSource = ds;
gridviewCustomer.DataBind();
con.Close();
}

受保护的无效btnCancel_Click(对象发送者,EventArgs e)
{
Clear();
}
无效Clear()
{
/*Use Like It Hope your Problem will be sort out */


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace Insurance
{
public partial class Create_New_Customer : System.Web.UI.Page
{
DataSet ds = new DataSet();
SqlConnection con;
SqlCommand cmd = new SqlCommand();
SqlParameter sp1 = new SqlParameter();
SqlParameter sp2 = new SqlParameter();
SqlParameter sp3 = new SqlParameter();
SqlParameter sp4 = new SqlParameter();
SqlParameter sp5 = new SqlParameter();
SqlParameter sp6 = new SqlParameter();
SqlParameter sp7 = new SqlParameter();

protected void Page_Load(object sender, EventArgs e)
{


if(!IsPostBack)
{
BindGridView();
}

}
protected void btnSave_Click1(object sender, EventArgs e)
{
con = new SqlConnection("Data Source=NSEZ-DD4-028;

Initial Catalog=Insurance;Integrated Security= SSPI");

cmd = new SqlCommand("Create_Customer", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Connection = con;
cmd.Parameters.Add("@First_Name", SqlDbType.VarChar).Value = txtFirstName.Text.ToString();
cmd.Parameters.Add("@Last_Name", SqlDbType.VarChar).Value = txtLastName.Text.ToString();
cmd.Parameters.Add("@Address1", SqlDbType.VarChar).Value = txtAddress.Text.ToString();
cmd.Parameters.Add("@City", SqlDbType.VarChar).Value = txtCity.Text.ToString();
cmd.Parameters.Add("@State", SqlDbType.VarChar).Value = txtState.Text.ToString();
cmd.Parameters.Add("@Zip", SqlDbType.Int).Value = txtZip.Text;
cmd.Parameters.Add("@Country", SqlDbType.VarChar).Value = txtCountry.Text.ToString();
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Clear();
BindGridView();



}
Void BindGridView()
{
con = new SqlConnection("Data Source=NSEZ-DD4-028;Initial Catalog=Insurance;Integrated Security= SSPI");

cmd = new SqlCommand("Create_Customer_All", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Connection = con;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(ds);
gridviewCustomer.DataSource = ds;
gridviewCustomer.DataBind();
con.Close();
}

protected void btnCancel_Click(object sender, EventArgs e)
{
Clear();
}
Void Clear()
{
txtFirstName.Text = "";
         txtLastName.Text = "";
         txtAddress.Text = "";
         txtCity.Text = "";
         txtState.Text = "";
         txtZip.Text = "";
         txtCountry.Text = "";



}
受保护的无效btnMainWindow_Click(对象发送者,EventArgs e)
{
Response.Redirect("Main.aspx");
}
受保护的void txtCity_TextChanged(对象发送者,EventArgs e)
{
}
}
}



}
protected void btnMainWindow_Click(object sender, EventArgs e)
{
Response.Redirect("Main.aspx");
}
protected void txtCity_TextChanged(object sender, EventArgs e)
{
}
}
}


这篇关于无法绑定GridView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆