2017-10-29 9 views
0

그래서 한 번 버튼을 클릭하면됩니다. 하나의 SQL 쿼리에서 "Return_Process"테이블에 값을 삽입하고 다른 SQL 쿼리가 "Loan_Process"인 다른 테이블의 일치하는 대출 ID에서 데이터를 삭제하도록합니다.ASP.Net에서 두 개의 sql 쿼리를 관리하는 방법 (Visual Studio 2010)

이것은 내가 작성한 코드이지만 아무것도 삭제하지 않고 반환 프로세스에 값을 삽입하지만 대출 프로세스에서 값을 삭제하지는 않습니다. 사람이 동시에 두 쿼리를 실행하기 위해 무엇을 말해 줄 수 있다면, 그래서

//Global variable declaration 
    string path; 
    string sql; 
    string sql2; 
    //create a method for database connection 
    public void connection() 
    { 
     //connection string 
     path = @"Data Source=NATHAN-PC\SQLEXPRESS;Initial Catalog=ASP;Integrated Security=True"; 
    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     { 
      connection(); 

      SqlConnection con = new SqlConnection(path); 
      con.Open(); 

      //try 
      { 
       sql = "INSERT INTO Return_Process (Return_ID, FIne, Actual_Returned_Date, Loan_ID) VALUES ('" + txtRID.Text + "','" + txtfine.Text + "','" + TextBox1.Text + "','" + txtLID.Text + "')"; 
       sql2 = "Delete FROM Loan_Process WHERE Loan_ID='"+txtLID+"'"; 
       SqlCommand cmd = new SqlCommand(sql, con); 
       cmd.ExecuteNonQuery(); 
       //lblerrormsg.Visible = true; 
       //lblerrormsg.Text = "Success"; 
       con.Close(); 
       //GridView1.DataBind(); 
      } 

      //catch (SqlException) 
      //{ 
      // //lblerrormsg.Visible = true; 
      // //lblerrormsg.Text = "Invalid"; 
      //} 


      con.Close(); 
      //GridView1.DataBind(); 

     } 

    } 
} 

}

내가, ASP.net에서 아주 나쁜 해요, 그것을 대단히 감사하겠습니다. 이 같은

+0

하나에 두 쿼리를 결합 ('으로 구분;'). 또한 쿼리에서'@ parameters'를 사용하십시오. –

+0

asp.net에서 im awful이라고 말한 것처럼 유감스럽게 생각합니다. 내 과정에 대한 프로젝트가 있었고이를 수행하는 방법을 알 수 없었습니다. 그래서 sql = "query1"; "쿼리 2"? 그런가요? –

답변

0

어떻게 좀 :

//your code 
sql = "INSERT INTO Return_Process (Return_ID, FIne, Actual_Returned_Date, Loan_ID)" 
    + " VALUES (@rid, @fine, @retDate, @lid); " //note ; inside 
    + "Delete FROM Loan_Process WHERE [email protected];"; 
var cmd = new SqlCommand(sql, con); 
cmd.Parameters.Add("@rid", SqlDbType.Int).Value = Int.Parse(txtRID.Text); 
//similar for 3 remaining parameters. Just set correct SqlDbType 
con.Open(); 
cmd.ExecuteNonQuery(); 
con.Close(); 
+0

답장을 보내 주셔서 감사합니다. 올바른 sqldbtype을 어떻게 설정합니까? 내 코드는 무엇일까요? 따라 잡기 위해 미안하지만이 지역에 정말로 약한 메신저. 귀하의 코드에 넣어 Int.Parse 및 SqpDbtype.int이 현재 컨텍스트에 존재하지 않는다고 말합니다 –

+0

정수 형식의 경우 'Int', 날짜의 경우에는'DateTime '등으로 나타납니다. DB 스키마 (테이블 정의)를 확인하십시오. –