将数据发送到表格进行编辑,但始终发送第一条记录 [英] Sending data to Form for Editing But It Always send the First Record

查看:76
本文介绍了将数据发送到表格进行编辑,但始终发送第一条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我点击记录进行更新时。它总是将第一条记录发送到表单如果我单击带有最后一条记录的编辑按钮它也会将第一条记录发送到表单进行编辑

 protected void GView_RowEditing(object sender, GridViewEditEventArgs e)
{
Form_Enable();

GView.EditIndex = e.NewEditIndex;
string conStr = ConfigurationManager.ConnectionStrings [CStringCRM]。ToString();
使用(SqlConnection conn = new SqlConnection(conStr))


使用(SqlCommand cmd = new SqlCommand(@SELECT * FROM UserInfo WHERE UID = UID,conn))
{
conn.Open();
using(SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
if(dr.Read())
{
txtUID.Text = Convert。的ToString(DR [ UID]);
txtFName.Text = Convert.ToString(dr [UFName]); txtMName.Text = Convert.ToString(dr [UMName]);
txtLName.Text = Convert.ToString(dr [ULName]); txtUNic.Text = Convert.ToString(dr [UNic]);
txtUDob.Text = Convert.ToString(dr [UDOB]); txtUHPhone.Text = Convert.ToString(dr [UHPhone]);
txtUCNumber.Text = Convert.ToString(dr [UCPhone]); txtUEmail.Text = Convert.ToString(dr [UEmail]);
ddlUState.Text = Convert.ToString(dr [UState]);
txtUCity.Text = Convert.ToString(dr [UCity]);
txtUAddress.Text = Convert.ToString(dr [UAddress]);
// txtUComName.Enabled = true; txtUDesignation.Enabled = true; txtWPhone.Enabled = true; txtFaxNumber.Enabled = true; txtBCity.Enabled = true; txtCAddress.Enabled = true;
// txtECName.Enabled = true; txtECMNumber.Enabled = true; txtRelationship.Enabled = true; txtRHPhone.Enabled = true; txtECMNumber.Enabled = true;
//ddlUState.Text = Convert.ToString(dr [UState]);
DateTime GV_date = DateTime.Now;
txtUDob.Text = GV_date.ToShortDateString();
this.GView.Visible = false;
txtFName.Focus();
this.btnUpdate.Enabled = true; this.btnShow.Enabled = false; this.btnSave.Enabled = false; this.btnAdd.Enabled = false; this.btnCancel.Enabled = true; this.btnClear.Enabled = false;
}

}

}



//为外键分配值的结束业务信息和Emrg联系信息表

}

解决方案

这是因为您使用SELECT * FROM table从数据库中选择每条记录。 然后调用.Read()读取第一条记录。



如Wes所说,你可以先从一些在线教程或书籍中获益更多。

试试这个并告诉我它是否不起作用



protected void GView_RowEditing(object sender,GridViewEditEventArgs e)

{

Form_Enable();



GView.EditIndex = e.NewEditIndex;



/在gridview中为单元格数组提供UID列的索引/

String cmdStr = String.Format(UserInfo Select * UserID ='{0}',UID);

string conStr = ConfigurationManager.ConnectionStrings [CStringCRM]。 ToString();

使用(SqlConnection conn = new SqlConnection(conStr))



使用(SqlCommand cmd = new SqlCommand(cmdStr,conn) )使用(SqlDataReader dr = cmd.ExecuteReader(Comman) dBehavior.CloseConnection))

{

if(dr.Read())

{

txtUID.Text = Convert.ToString(dr [UID]);

txtFName.Text = Convert.ToString(dr [UFName]); txtMName.Text = Convert.ToString(dr [UMName]);

txtLName.Text = Convert.ToString(dr [ULName]); txtUNic.Text = Convert.ToString(dr [UNic]);

txtUDob.Text = Convert.ToString(dr [UDOB]); txtUHPhone.Text = Convert.ToString(dr [UHPhone]);

txtUCNumber.Text = Convert.ToString(dr [UCPhone]); txtUEmail.Text = Convert.ToString(dr [UEmail]);

ddlUState.Text = Convert.ToString(dr [UState]);

txtUCity。 Text = Convert.ToString(dr [UCity]);

txtUAddress.Text = Convert.ToString(dr [UAddress]);

// txtUComName。 Enabled = true; txtUDesignation.Enabled = true; txtWPhone.Enabled = true; txtFaxNumber.Enabled = true; txtBCity.Enabled = true; txtCAddress.Enabled = true;

// txtECName.Enabled = true; txtECMNumber.Enabled = true; txtRelationship.Enabled = true; txtRHPhone.Enabled = true; txtECMNumber.Enabled = true;

//ddlUState.Text = Convert.ToString(dr [UState]);

DateTime GV_date = DateTime.Now;

txtUDob.Text = GV_date.ToShortDateString();

this.GView.Visible = false;

txtFName.Focus();

this.btnUpdate.Enabled = true; this.btnShow.Enabled = false; this.btnSave.Enabled = false; this.btnAdd.Enabled = false; this.btnCancel.Enabled = true; this.btnClear.Enabled = false;

}

} 

}


When i click on the record to update it. its always send the first record to the form if i click the edit button with the last record it also send the first record to form for editing

protected void GView_RowEditing(object sender, GridViewEditEventArgs e)
       {
           Form_Enable();
 
           GView.EditIndex = e.NewEditIndex;
           string conStr = ConfigurationManager.ConnectionStrings["CStringCRM"].ToString();
           using (SqlConnection conn = new SqlConnection(conStr))
 

           using (SqlCommand cmd = new SqlCommand(@"SELECT * FROM UserInfo WHERE UID = UID", conn))
           {
               conn.Open();
               using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
               {
                   if (dr.Read())
                   {
                       txtUID.Text = Convert.ToString(dr["UID"]);
                       txtFName.Text = Convert.ToString(dr["UFName"]); txtMName.Text = Convert.ToString(dr["UMName"]);
                       txtLName.Text = Convert.ToString(dr["ULName"]); txtUNic.Text = Convert.ToString(dr["UNic"]);
                       txtUDob.Text = Convert.ToString(dr["UDOB"]); txtUHPhone.Text = Convert.ToString(dr["UHPhone"]);
                       txtUCNumber.Text = Convert.ToString(dr["UCPhone"]); txtUEmail.Text = Convert.ToString(dr["UEmail"]);
                       ddlUState.Text = Convert.ToString(dr["UState"]);
                       txtUCity.Text = Convert.ToString(dr["UCity"]);
                       txtUAddress.Text = Convert.ToString(dr["UAddress"]);
                       // txtUComName.Enabled = true; txtUDesignation.Enabled = true; txtWPhone.Enabled = true; txtFaxNumber.Enabled = true; txtBCity.Enabled = true; txtCAddress.Enabled = true;
                       // txtECName.Enabled = true; txtECMNumber.Enabled = true; txtRelationship.Enabled = true; txtRHPhone.Enabled = true; txtECMNumber.Enabled = true;
                       //ddlUState.Text = Convert.ToString(dr["UState"]);
                       DateTime GV_date = DateTime.Now;
                       txtUDob.Text = GV_date.ToShortDateString();
                       this.GView.Visible = false;
                       txtFName.Focus();
                       this.btnUpdate.Enabled = true; this.btnShow.Enabled = false; this.btnSave.Enabled = false; this.btnAdd.Enabled = false; this.btnCancel.Enabled = true; this.btnClear.Enabled = false;
                   }
 
               }
 
           }


// End of Assigning Value to the foreign key of the Business Info and Emrg Contact Info Tables
}

解决方案

This is because you select every record from the db using "SELECT * FROM table." You then call .Read() which reads in the first record.

As Wes mentioned, you may benefit more from doing some online tutorials or books first.


Try this and let me know if it does not work


protected void GView_RowEditing(object sender, GridViewEditEventArgs e)
{
Form_Enable();


GView.EditIndex = e.NewEditIndex;


/provide the index of UID column in your gridview for cell array/
String UID= GView.Rows[e.NewEditIndex].Cells[1].Text;
String cmdStr = String.Format("Select * from UserInfo Where UserID = '{0}' ", UID);
string conStr = ConfigurationManager.ConnectionStrings["CStringCRM"].ToString();
using (SqlConnection conn = new SqlConnection(conStr))


using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
if (dr.Read())
{
txtUID.Text = Convert.ToString(dr["UID"]);
txtFName.Text = Convert.ToString(dr["UFName"]); txtMName.Text = Convert.ToString(dr["UMName"]);
txtLName.Text = Convert.ToString(dr["ULName"]); txtUNic.Text = Convert.ToString(dr["UNic"]);
txtUDob.Text = Convert.ToString(dr["UDOB"]); txtUHPhone.Text = Convert.ToString(dr["UHPhone"]);
txtUCNumber.Text = Convert.ToString(dr["UCPhone"]); txtUEmail.Text = Convert.ToString(dr["UEmail"]);
ddlUState.Text = Convert.ToString(dr["UState"]);
txtUCity.Text = Convert.ToString(dr["UCity"]);
txtUAddress.Text = Convert.ToString(dr["UAddress"]);
// txtUComName.Enabled = true; txtUDesignation.Enabled = true; txtWPhone.Enabled = true; txtFaxNumber.Enabled = true; txtBCity.Enabled = true; txtCAddress.Enabled = true;
// txtECName.Enabled = true; txtECMNumber.Enabled = true; txtRelationship.Enabled = true; txtRHPhone.Enabled = true; txtECMNumber.Enabled = true;
//ddlUState.Text = Convert.ToString(dr["UState"]);
DateTime GV_date = DateTime.Now;
txtUDob.Text = GV_date.ToShortDateString();
this.GView.Visible = false;
txtFName.Focus();
this.btnUpdate.Enabled = true; this.btnShow.Enabled = false; this.btnSave.Enabled = false; this.btnAdd.Enabled = false; this.btnCancel.Enabled = true; this.btnClear.Enabled = false;
}

}

}


这篇关于将数据发送到表格进行编辑,但始终发送第一条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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