【问题标题】:why does this string always revert to ""?为什么这个字符串总是恢复为“”?
【发布时间】:2013-10-10 16:10:32
【问题描述】:

这是我的代码:

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;此时它变回“”。有人吗???

【问题讨论】:

    标签: c# sql winforms sql-server-ce


    【解决方案1】:

    改变这一行得到转换的结果

    topLogNumber = Conversion(topLogNumber);
    

    或者只是将转换的结果分配给您的文本框

    textBox1.Text = Conversion(topLogNumber);
    

    Conversion 内部的计算结果在 return 语句中传回。您需要将该计算的结果重新分配给 userScreen 中使用的变量 topLogNumber。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多