2013-10-10 100 views
-2

继承人我的代码:为什么这个字符串总是回复为“”?

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在返回传回的结果声明。您需要将该calc的结果重新分配到userScreen内使用的变量topLogNumber。

+0

非常感谢! –

相关问题