繁体   English   中英

Visual Studio 2013 C#'FileNotFoundException'

[英]Visual Studio 2013 C# 'FileNotFoundException'

我目前正在为 Visual Studio 中的一个项目工作,C# Windows 窗体。 虽然我的命令在某一天运行,但另一个没有运行。现在我完成了我的项目,试图测试一些新的东西,但它一起崩溃了。 更具体地说,关于应用程序的结构:我创建了 1 个主窗体,它具有所有其余窗体继承的基本特征(如菜单等)。 start_form 仅提供连接到 MySqlDatabase 的登录和注册。 为了向我的应用程序添加授权,我创建了一个名为“authorization.txt”的文件,当用户按下 sign_in 按钮时,我将在其中存储用户的 ID。 这段代码运行得很好,直到它开始抛出异常并阻止我看到继承表单的设计预览说:

mscorlib.dll 中发生类型为“System.IO.FileNotFoundException”的未处理异常

附加信息:找不到文件“C:\\Users\\leo\\Desktop\\VirtualMuseum_App\\VirtualMuseum_App\\authorization.txt”。

第一个表单(又名登录注册表)工作正常,但是当它尝试加载下一个表单(又名主博物馆)时,它崩溃了,抛出了上面的异常。 我给你下面的主博物馆表格的代码(构造函数):

public Main_Museum()
{
    InitializeComponent();
    StreamReader myReader = new StreamReader("C:\\Users\\leo\\Desktop\\VirtualMuseum_App\\VirtualMuseum_App\\authorization.txt");
    String line = "";
    while (line != null)
    {
        line = myReader.ReadLine();
        if (line != "")
        {
            MessageBox.Show(line);
            //connection to database
            string myConnection = "datasource = 127.0.0.1; port = 3306; username = root; password = ";
            MySqlConnection myConn = new MySqlConnection(myConnection);
            MySqlCommand SelectCommand = new MySqlCommand("select * from virtual_museum.user where id_user = '" + line + "';", myConn);

            MySqlDataReader dr;
            myConn.Open();
            dr = SelectCommand.ExecuteReader();
            try
            {
                while (dr.Read())
                {
                    String firstname = dr.GetString("user_firstname");
                    Profile.Text = "Welcome" + "\n" + firstname;
                    myConn.Close();
                }
            }
            catch (Exception ex){}
        }
     }
    myReader.Close();
}

任何帮助将不胜感激。 我不知道还能做什么。 (注意:在 myReader 中的整个路径之前,我曾尝试只输入文件名,但它也不起作用 - 尽管过去确实如此。我不知道为什么会造成如此混乱。)

谢谢!

该异常告诉您无法找到所引用的文件。 这将在 A) 构造函数运行时发生,并且 B) 指定路径中没有文件。

在不了解有关您的申请的更多详细信息的情况下,我无法说出满足 B) 条件的情况。 也就是说,您需要确保该文件存在于指定位置。

您提到切换到设计视图时会出现此错误。 这是因为在设计视图中加载给定的表单时,构造函数将运行。 您是否确保应用程序运行时该文件存在,但应用程序关闭时该文件不存在?

要么在开发应用程序时确保文件在那里(除了运行它),要么移动代码以从构造函数中加载文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM