Asp.net 在my where子句中使用querystring参数生成插入操作
在这里,我使用request.Querystring查找特定作业的companyname和job title。当用户在texbix中使用用户名登录时。我希望companyname、jobtitle和username位于表的同一行中。但当我生成查询时,它会插入(companyname&jobtitle)第一行是用户名,第二行是用户名。我如何完成我的任务。有些人说,我必须将companyname和jobtitle保存在一个变量中…然后执行。 这是一个完美的解决方案吗? 如果是,我怎么做? 代码: 在apply.aspx中,我有以下代码:Asp.net 在my where子句中使用querystring参数生成插入操作,asp.net,Asp.net,在这里,我使用request.Querystring查找特定作业的companyname和job title。当用户在texbix中使用用户名登录时。我希望companyname、jobtitle和username位于表的同一行中。但当我生成查询时,它会插入(companyname&jobtitle)第一行是用户名,第二行是用户名。我如何完成我的任务。有些人说,我必须将companyname和jobtitle保存在一个变量中…然后执行。 这是一个完美的解决方案吗? 如果是,我怎么做? 代码: 在
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");
使用
而不是
string apply = "INSERTINTO Company (CandidateInformation) Values
(@CandidateInformation)" ;
如果再次使用Insert
语句,则它将始终在表中创建新记录
Update
用于更新表中已存在的记录。插入两次将始终产生两个新行。
您可以在第一条insert语句中完成这一切:
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");
}
那么您就不需要第二页了。我还使用两条查询语句在一个按钮中尝试了这两种查询,但这与您听说过SQL注入吗??如果没有,请看一看我编辑的这篇文章,使JobNo成为sql参数,以避免sql注入黑客攻击的可能性
string apply = "INSERTINTO Company (CandidateInformation) Values
(@CandidateInformation)" ;
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");
}