这里,使用request.Querystring我找到特定Job的公司名称和职位。当用户使用texbix.i中的用户名登录时,想要在表格的同一行中使用Companyname,jobtitle和username。但是当我生成我的查询时它在第一行插入(companyName& jobtitle),在第二行插入用户名。如何完成我的任务。有些人说,我必须将公司名称和作业标记保存在变量中......然后执行。 这是一个完美的解决方案吗? 如果是的话,我该怎么做? 代码:
protected void ButtonApply_Click(object sender, EventArgs e) {
String str = Request.QueryString.Get("JobNo");
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
conn.Open();
string apply = "INSERT INTO Company (CompanyName,JobTitle) select CompanyName,JobTitle from Jobs where JobNo='"+str+"'" ;
SqlCommand insertApply = new SqlCommand(apply, conn);
try {
insertApply.ExecuteScalar();
conn.Close();
Response.Redirect("ApplyJob.aspx?JobNo="+str);
}
在apply.aspx中的我有以下代码:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
conn.Open();
string apply = "INSERT INTO Company (CandidateInformation) Values (@CandidateInformation)" ;
SqlCommand insertApply = new SqlCommand(apply, conn);
insertApply.Parameters.AddWithValue("@CandidateInformation", TextBoxaun.Text);
insertApply.ExecuteNonQuery();
conn.Close();
Response.Redirect("CompanyInfo.aspx");
答案 0 :(得分:0)
使用
Update Company Set CandidateInformation = @CandidateInformation where JobNo='"+str+"'" ;
而不是
string apply = "INSERTINTO Company (CandidateInformation) Values
(@CandidateInformation)" ;
如果您再次使用Insert
语句,那么它将始终在表格中创建新记录。
Update
用于更新表的现有记录。
答案 1 :(得分:0)
插入两次将始终产生两个新行。 您可以在第一个插入语句中完成所有操作:
string apply = "INSERT INTO Company (CompanyName,JobTitle, CandidateInformation) select
CompanyName,JobTitle, @CandidateInformation from Jobs where JobNo=@JobNo ;
SqlCommand insertApply = new SqlCommand(apply, conn);
insertApply.Parameters.AddWithValue("@CandidateInformation",
TextBoxaun.Text);
insertApply.Parameters.AddWithValue("@JobNo", str);
try
{
insertApply.ExecuteScalar();
conn.Close();
Response.Redirect("CompanyInfo.aspx");
}
然后你不需要第二页。