gpt4 book ai didi

c# - 无法备份 mysql 数据库,错误为 "The given path' s 格式不受支持。”

转载 作者:行者123 更新时间:2023-11-29 11:16:26 25 4
gpt4 key购买 nike

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 错误。我该如何修复它?

附注txtb.Text 包含这样的目录路径 C:\Users\user\Desktop

最佳答案

您的日期时间格式包含冒号。除了将驱动器号与路径分隔之外,文件或路径名中不允许使用这些内容。

您可以通过更改 DateTime.Now 调用的格式字符串轻松解决此问题:

string x = txtb.Text; 
string date = DateTime.Now.ToString("MM-dd-yyyy HH-mm-ss");
string file = x + date + "database backup.sql";

当您运行此命令时,您将在文件中得到(假设txtb.Text包含foo)

foo09-24-2016 14-20-59database 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 有类似的方法

关于c# - 无法备份 mysql 数据库,错误为 "The given path' s 格式不受支持。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com