2016-10-24 2 views
0
protected void Button1_Click(object sender, EventArgs e) 
{ 
    string cs = ConfigurationManager.ConnectionStrings["Dum01"].ConnectionString; 
    using (var scon = new SqlConnection(cs)) 
    { 
     string codevalue = TextBox1.Text.Substring(0, 1); 
     var query = "SELECT MAX(CODE) AS TCODE FROM AgentMast WHERE LEFT(CODE,1)= @SearchText"; 
     using (var cmd = new SqlCommand(query, scon)) 
     { 
      cmd.Parameters.AddWithValue("@SearchText",codevalue); 
      cmd.CommandType = CommandType.Text; 
      cmd.Connection = scon; 
      scon.Open(); 
      using (SqlDataReader sdr = cmd.ExecuteReader()) 
      { 

       while (sdr.Read()) 
       { 
        TextBox2.Text= sdr["TCODE"].ToString(); 
       } 
       string codewithnumber = TextBox2.Text.Substring(1, 4); 
       Label2.Text = codewithnumber; 
       Label1.Text = (int.Parse(Label2.Text) + 1).ToString(); 
       string firstchar=TextBox2.Text.Substring(0,1); 
       Label3.Text = firstchar + Label1.Text+"A" ; 
      } 
      scon.Close(); 
     } 
    } 

} 

텍스트 상자에 텍스트가 입력되면 첫 문자에 따라 AgentMast 테이블에서 최대 코드가 선택됩니다. 최대 코드를 얻을 때 하나씩 증가해야합니다. 예를 들어 코드가 Z0001A를 찾으면 다음에 Z0002A가 삽입되어야합니다. 'A'는 에이전트 테이블에 대해 고정되어 있으며 TCODE가 발견되지 않으면 텍스트 텍스 트의 첫 번째 문자와 0001을 사용하여 새 코드를 작성한 다음 문자 'A'를 수정해야합니다. 어떻게 해결할 수 있습니까? 미리 감사드립니다.자동 생성 코드

+1

를 코드를 생성하기 위해 노력했다 뭐? 내가 보는 모든 것은 데이터베이스에서 코드를 검색하는 함수입니다. – VDWWD

+0

버튼 클릭시 증분 코드가 표시되지만 데이터베이스에 tcode가없는 경우 새 코드를 만드는 방법 – sarode111

+0

'codevalue + "0001A"'는 어떻습니까? – VDWWD

답변

0

이 시도 :

oldCode = sdr["TCODE"].ToString(); 

if (string.IsNullOrEmpty(oldCode)) 
{ 
    newCode = codevalue + "0001A"; 
} 
else 
{ 
    int newIncrement = Convert.ToInt32(oldCode.Substring(1, 4)) + 1; 
    newCode = codevalue + newIncrement.ToString().PadLeft(4, '0') + oldCode.Substring(5, 1); 
} 
+0

고마워요 ... – sarode111

관련 문제