我當前正在爲Visual Studio,C#Windows Form中的項目工作。雖然我的命令有一天在運行,但另一個沒有。現在我完成了我的項目,試圖測試新的東西,它一起崩潰。更具體地說,應用程序的結構:我創建了一個主窗體,它具有所有其餘窗體繼承的基本特徵(如菜單e.t.c)。 start_form僅提供連接到MySqlDatabase的登錄和註冊。爲了向我的應用程序添加授權,我創建了一個名爲「authorization.txt」的文件,其中存儲了用戶按下sign_in按鈕時用戶的ID。此代碼工作完全untilt它開始拋出異常,並阻止我看到了繼承的形式設計預覽說:Visual Studio 2013 C#'FileNotFoundException'
類型「System.IO.FileNotFoundException」 未處理的異常出現在mscorlib.dll
附加信息:找不到文件 '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中的整個路徑之前,我已經嘗試過只輸入文件的名稱,但它並沒有起作用,即使它過去也是如此,我不知道爲什麼會產生這樣的混亂。)
謝謝!
使用調試器並檢查它正在尋找文件的文件路徑..你知道如何使用調試器..?而不是使用'dr.GetString'來使用這個'dr [「yourfieldname」]' – MethodMan
@MethodMan,GetString是完全合法的,並且是類型安全的。 ;-) – maxwellb
對不起,但我是新來的Visual Studio。所以,如果你可以指定這些步驟,那將是非常有用的。 –