[英]c# - unable to backup mysql database with error “The given path's format is not supported.”
private void Backup()
{
string x = txtb.Text;
string date = DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss");
string file = x + date + "database backup.sql";
string conn = "server = localhost; user id = root; password =; database = sais_db;";
try
{
MySqlBackup mb = new MySqlBackup(conn);
mb.Export(file);
MessageBox.Show("Database Backup Success!");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
}
請幫忙,當我運行程序時,出現NotSupportedException
錯誤。 我如何解決它?
PS txtb.Text
包含目錄路徑,例如C:\\ Users \\ user \\ Desktop
您的DateTime格式包括冒號。 在文件或路徑名中不允許使用這些字符,除非從路徑中分隔驅動器號。
您可以通過更改DateTime.Now調用的格式字符串輕松解決此問題:
string x = txtb.Text;
string date = DateTime.Now.ToString("MM-dd-yyyy HH-mm-ss");
string file = x + date + "database backup.sql";
運行此文件時,您將在file
獲取(assumimg txtb.Text包含foo )
foo09-24-2016 14-20-59數據庫backup.sql
您也可以考慮一口氣做到這一點:
string file = String.Format(
"{0}{1:MM-dd-yyyy HH-mm-ss}database backup.sql",
txtb.Text,
DateTime.Now);
如果允許用戶提供文件名(的一部分),請考慮檢查無效字符。 System.IO命名空間中的Path
類為該GetInvalidFileNameChars
提供了很好的幫助。
if (file.IndexOfAny(Path.GetInvalidFileNameChars()) > -1)
{
// show an error
MessageBox.Show("invalid characters in file");
return;
}
InvalidPathChars有類似的方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.