2013-10-10 4 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 передается обратно в обратном заявление. Вам нужно переназначить результат этого вычисления переменной topLogNumber, используемой внутри userScreen.

+0

спасибо! –

Смежные вопросы