2013-10-10 2 views
-2

Heres는 내 코드 :이 문자열은 항상 ""(으)로 되돌아갑니다.

이제
public userScreen(string uName) 
    { 
     InitializeComponent(); 
     userName = uName; 
     string topLogNumber = "0"; 
     textBox2.Text = userName; 
     Conversion(topLogNumber); 
     textBox1.Text = topLogNumber; 
     this.WindowState = FormWindowState.Maximized; 

private string Conversion(string lognumber) 
    { 
     lognumber = gettoplognumber(); 
     int lognumberint = Convert.ToInt32(lognumber); 
     lognumberint = lognumberint+1; 
     lognumber = lognumberint.ToString(); 
     return lognumber; 
    } 

private string gettoplognumber() 
    { 
     string selectTopLogNumber = "SELECT MAX (LogNo) from Logs"; 
     string connection = "Data Source = \"EventControl.sdf\""; 
     SqlCeConnection connexion = new SqlCeConnection(connection); 
     SqlCeCommand topLog = new SqlCeCommand(selectTopLogNumber, connexion); 
     try 
     { 
      connexion.Open(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
      return "error"; 
     } 
     return topLog.ExecuteScalar() as string; 

, 어떤이 코드가 수행하는 데이터베이스에보고하고 하나의 수를 증가시킵니다. 그것이 (모든 프로세스를 디버깅했습니다.) 어떤 이유로 든 괜찮습니다. textBox1.Text = topLogNumber; 어느 지점에서 다시 ""로 바뀝니다. 누군가????

답변

1

변경이 라인은

topLogNumber = Conversion(topLogNumber); 

변환의 결과를 얻거나 당신의 텍스트 상자

textBox1.Text = Conversion(topLogNumber); 

내부 Conversion는 대가로 다시 전달되는 계산 결과에 변환의 결과를 할당 성명서. 그 계산의 결과를 userScreen 안에 사용 된 변수 topLogNumber에 재 할당해야합니다.

+0

대단히 감사합니다. –