0

在这里,使用 request.Querystring 我找到特定 Job 的公司名称和职位。当用户使用 texbix 中的用户名登录时。我希望 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");
4

2 回答 2

0

采用

Update Company Set CandidateInformation = @CandidateInformation where JobNo='"+str+"'" ;

代替

string apply = "INSERTINTO Company (CandidateInformation) Values 
(@CandidateInformation)" ;

如果您将Insert再次使用语句,那么它将始终在表中创建新记录。

Update用于更新表中已经存在的记录。

于 2012-05-18T10:14:25.330 回答
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");


            }

然后你就不需要第二页了。

于 2012-05-18T10:19:11.000 回答