2011-05-07 13 views
0

helpDesk 웹 응용 프로그램을 만들고 있습니다. 나는 하나 개의 함수 이 기능의 고유 complaint_id를 생성하고웹 응용 프로그램의 동기화

는 한 번에 3 사용자, 일반 사용자, 고급 사용자 및 관리자

모든 사용자가 나는 빈 행을 삽입하고 새로운 불만 클릭 호출 할 수 있습니다 불만 표를 작성하고 고유 한 complaint_id를 발신자에게 보냅니다.

는하지만 모든 3 사용자가 문제 ID를 생성이 될 수있는 불만 ID에이 기능이 공유로

를 생성 그가에서 동시에 따라서 에이미 원인 문제가 함수를 호출 가지고 발생할 수 있습니다. 나는 단지 그것을 사용되는 스레드를 해결할 수 있습니다 알고 있지만 나는 스레드

가져 오기 ID 기능은 공통 기능 이 기능은 저장 프로 시저를 호출하는 것입니다에 대해 거의 지식이 모르겠어요 방법에 대해 설명합니다. 사용자의 3 개 종류가 여기에 동시에 의 기능은 코드

public string Getid(AddComplaint_DAO p) 
    { 
     SqlConnection con = null; 
     SqlCommand cmd; 
     string strConnection; 
     SqlDataAdapter adpt = null; 

     try 
     { 
      strConnection = ConfigurationManager.AppSettings["Connetionstring2"]; 
      con = new SqlConnection(strConnection); 
      cmd = new SqlCommand("GetId", con); 
      cmd.Parameters.AddWithValue("@s_CompDate", SqlDateTime.Null); 
      cmd.Parameters.AddWithValue("@s_UserId", p.Ename); 
      cmd.Parameters.AddWithValue("@s_LocationId", SqlString.Null); 
      cmd.Parameters.AddWithValue("@s_DeptId", SqlString.Null); 
      cmd.Parameters.AddWithValue("@i_Extension", SqlInt32.Null); 
      cmd.Parameters.AddWithValue("@s_MainCat", SqlString.Null); 
      cmd.Parameters.AddWithValue("@s_SubCat", SqlString.Null); 
      cmd.Parameters.AddWithValue("@s_Item", SqlString.Null); 
      cmd.Parameters.AddWithValue("@s_Subject", SqlString.Null); 
      cmd.Parameters.AddWithValue("@s_Description", SqlString.Null); 


      cmd.CommandType = CommandType.StoredProcedure; 
      adpt = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      adpt.Fill(ds); 
      if (ds != null) 
      { 
       if (ds.Tables[0].Rows.Count > 0) 
       { 
        string val = ds.Tables[0].Rows[0][0].ToString(); 
        return val; 
       } 
      } 

     } 
     catch (SqlException ex) 
     { 
      con.Close(); 
      string exep = ex.Message; 
      return null; 
     } 
     return null; 
    } 

내가 지금

+1

당신 말은 "이 문제 ID를 생성 할 수 있습니다"하지만 세부 사항을 제공하지 않습니다. 어떤 종류의 문제? 귀하의 질문은 명확하지 않습니다. 이것을 읽으십시오 : http://tinyurl.com/so-hints – Oded

+0

ID를 생성하는 함수에 대한 코드를 게시하십시오. – Oded

+0

나는 그것에 대해 걱정할 필요가 없다고 생각합니다. 데이터베이스에 의해 지워지는 자동 키를 사용하면 자동으로 동시성 문제를 처리 할 것입니다. – kobe

답변

0

당신은 절대적으로 동기화에 대해 걱정할 필요가 없습니다 명백하다 생각입니다 호출하는 경우

는이 문제를 만듭니다 이리. 데이터베이스가이를 수행합니다. 나는 긍정적이다.

덕분에, 크리슈나