更新 Gridview 中的行未保存到我的数据库中



我正在尝试将GridView中的行更新到我的SQL表。 但是当我更改某些信息并单击更新时,它什么也不做,不将其保存到数据库中吗?

protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["PROJECTS"].ConnectionString);
DataTable dt = new DataTable();
con1.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand($"SELECT id, " +
$"Date, " +
$"Number, " +
$"CustomerName, " +
$"AccpacPcNo, " +
$"CRMCaseNo, " +
$"ProjectDetails, " +
$"TechnicalResourceAssigned," +
$"ProjectPhase, " +
$"WorkHours, " +
$"PlannedCompletionDate, " +
$"Comments FROM tbl_projects WHERE ID={Request["id"]}", con1);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
txtProjectDate.Text = (myReader["Date"].ToString());
txtProjectNumber.Text = (myReader["Number"].ToString());
txtProjectCustomerName.Text = (myReader["CustomerName"].ToString());
txtProjectAccpacNumber.Text = (myReader["AccpacPcNo"].ToString());
txtProjectCRMCaseNumber.Text = (myReader["CRMCaseNo"].ToString());
txtProjectDetails.Text = (myReader["ProjectDetails"].ToString());
txtProjectTechnicalResourceAssigned.Text = (myReader["TechnicalResourceAssigned"].ToString());
txtProjectPhase.SelectedItem.Text = (myReader["ProjectPhase"].ToString());
txtProjectWorkHours.Text = (myReader["WorkHours"].ToString());
txtProjectPlannedCompletionDate.Text = (myReader["PlannedCompletionDate"].ToString());
txtProjectComments.Text = (myReader["Comments"].ToString());
}
con1.Close();
}
protected void BtnUpdate_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["PROJECTS"].ConnectionString);
SqlCommand cmd = new SqlCommand($"UPDATE tbl_projects SET [Date] = @Date, " +
$"[Number] = @Number, " +
$"[CustomerName] = @CustomerName, " +
$"[AccpacPcNo] = @AccpacPcNo, " +
$"[CRMCaseNo] = @CRMCaseNo, " +
$"[ProjectDetails] = @ProjectDetails, " +
$"[TechnicalResourceAssigned] = @TechnicalResourceAssigned, " +
$"[ProjectPhase] = @ProjectPhase, " +
$"[WorkHours] = @WorkHours, " +
$"[PlannedCompletionDate] = @PlannedCompletionDate, " +
$"[Comments] = @Comments FROM tbl_Projects WHERE ID = {Request["id"]}", con);
con.Open();
cmd.Parameters.AddWithValue("@Date", txtProjectDate.Text);
cmd.Parameters.AddWithValue("@Number", txtProjectNumber.Text);
cmd.Parameters.AddWithValue("@CustomerName", txtProjectCustomerName.Text);
cmd.Parameters.AddWithValue("@AccpacPcNo", txtProjectAccpacNumber.Text);
cmd.Parameters.AddWithValue("@CRMCaseNo", txtProjectCRMCaseNumber.Text);
cmd.Parameters.AddWithValue("@ProjectDetails", txtProjectDetails.Text);
cmd.Parameters.AddWithValue("@TechnicalResourceAssigned", txtProjectTechnicalResourceAssigned.Text);
cmd.Parameters.AddWithValue("@ProjectPhase", txtProjectPhase.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@WorkHours", txtProjectWorkHours.Text);
cmd.Parameters.AddWithValue("@PlannedCompletionDate", txtProjectPlannedCompletionDate.Text);
cmd.Parameters.AddWithValue("@Comments", txtProjectComments.Text);
cmd.ExecuteNonQuery();
con.Close();
}

我不确定我做错了什么? 当我单击要更新的行但只是不想更新时,它会显示正确的信息。 我没有收到任何错误消息或任何东西?

检查这个创建存储请求ID 然后在其他事件或函数中使用 ID 的 gloabal 变量。

private static string _REQID = "";
protected void Page_Load(object sender, EventArgs e)
{
_REQID = Request["id"];
SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["PROJECTS"].ConnectionString);
DataTable dt = new DataTable();
con1.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand($"SELECT id, " +
$"Date, " +
$"Number, " +
$"CustomerName, " +
$"AccpacPcNo, " +
$"CRMCaseNo, " +
$"ProjectDetails, " +
$"TechnicalResourceAssigned," +
$"ProjectPhase, " +
$"WorkHours, " +
$"PlannedCompletionDate, " +
$"Comments FROM tbl_projects WHERE ID=@ReqID", con1);
myCommand.Parameters.AddWithValue("@ReqID", _REQID );

myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
txtProjectDate.Text = (myReader["Date"].ToString());
txtProjectNumber.Text = (myReader["Number"].ToString());
txtProjectCustomerName.Text = (myReader["CustomerName"].ToString());
txtProjectAccpacNumber.Text = (myReader["AccpacPcNo"].ToString());
txtProjectCRMCaseNumber.Text = (myReader["CRMCaseNo"].ToString());
txtProjectDetails.Text = (myReader["ProjectDetails"].ToString());
txtProjectTechnicalResourceAssigned.Text = (myReader["TechnicalResourceAssigned"].ToString());
txtProjectPhase.SelectedItem.Text = (myReader["ProjectPhase"].ToString());
txtProjectWorkHours.Text = (myReader["WorkHours"].ToString());
txtProjectPlannedCompletionDate.Text = (myReader["PlannedCompletionDate"].ToString());
txtProjectComments.Text = (myReader["Comments"].ToString());
}
con1.Close();
}
protected void BtnUpdate_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["PROJECTS"].ConnectionString);
SqlCommand cmd = new SqlCommand($"UPDATE tbl_projects SET [Date] = @Date, " +
$"[Number] = @Number, " +
$"[CustomerName] = @CustomerName, " +
$"[AccpacPcNo] = @AccpacPcNo, " +
$"[CRMCaseNo] = @CRMCaseNo, " +
$"[ProjectDetails] = @ProjectDetails, " +
$"[TechnicalResourceAssigned] = @TechnicalResourceAssigned, " +
$"[ProjectPhase] = @ProjectPhase, " +
$"[WorkHours] = @WorkHours, " +
$"[PlannedCompletionDate] = @PlannedCompletionDate, " +
$"[Comments] = @Comments FROM tbl_Projects WHERE ID = @ReqID", con);
con.Open();
cmd.Parameters.AddWithValue("@Date", txtProjectDate.Text);
cmd.Parameters.AddWithValue("@Number", txtProjectNumber.Text);
cmd.Parameters.AddWithValue("@CustomerName", txtProjectCustomerName.Text);
cmd.Parameters.AddWithValue("@AccpacPcNo", txtProjectAccpacNumber.Text);
cmd.Parameters.AddWithValue("@CRMCaseNo", txtProjectCRMCaseNumber.Text);
cmd.Parameters.AddWithValue("@ProjectDetails", txtProjectDetails.Text);
cmd.Parameters.AddWithValue("@TechnicalResourceAssigned", txtProjectTechnicalResourceAssigned.Text);
cmd.Parameters.AddWithValue("@ProjectPhase", txtProjectPhase.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@WorkHours", txtProjectWorkHours.Text);
cmd.Parameters.AddWithValue("@PlannedCompletionDate", txtProjectPlannedCompletionDate.Text);
cmd.Parameters.AddWithValue("@Comments", txtProjectComments.Text);
cmd.Parameters.AddWithValue("@ReqID", _REQID);
cmd.ExecuteNonQuery();
con.Close();
}

最新更新