C# mysql查询上的saveFileDialog文件夹路径
我想更改MySQL查询中的文件夹路径。但我不知道怎么做 我的visual studio异常:{“无法创建/写入文件” 'C:usersandridesktopoled.csv'(错误代码:13 \“权限被拒绝\”) 我想要的:C:\Users\Andri\Desktop\loled.csv 以下是我的代码:C# mysql查询上的saveFileDialog文件夹路径,c#,mysql,.net,C#,Mysql,.net,我想更改MySQL查询中的文件夹路径。但我不知道怎么做 我的visual studio异常:{“无法创建/写入文件” 'C:usersandridesktopoled.csv'(错误代码:13 \“权限被拒绝\”) 我想要的:C:\Users\Andri\Desktop\loled.csv 以下是我的代码: public bool exportCSV_DataBuku() { SaveFileDialog save = new SaveFileDialog();
public bool exportCSV_DataBuku()
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Comma Seperated Values / Excel Document (*.csv)|*.csv|All files (*.*)|*.*";
save.FilterIndex = 1;
if (save.ShowDialog() == DialogResult.OK)
{
query = "SELECT * FROM daftar_buku INTO OUTFILE '" + save.FileName
+ "' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
}
if(this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
this.CloseConnection();
return true;
} else
{
return false;
}
}
这是一个权限问题,您必须以管理员身份运行应用程序才能将文件写入C:\目录。 如果要将输出保存到“C:\Users\Andri\”中,为什么要使用SaveFileDialog? 您只需将路径写入查询命令即可 顺便说一下,在显示对话框之前,只需将SaveFileDialog对象的属性InitialDirectory设置为所需的路径
save.InitialDirectory = "C:\Users\Andri\Desktop\";
save.FileName = "loled.csv";
上述代码将打开指向默认文件名为“loled.csv”的桌面目录的保存对话框
更新
如果要始终将文件保存到路径“C:\Users\Andri\Desktop\loled.csv”,请将查询命令更改为
query = "SELECT * FROM daftar_buku INTO OUTFILE 'C:\Users\Andri\Desktop\loled.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
我已经找到了自己的答案,如果你们和我有同样的问题,我想帮助你们
public bool exportCSV_DataBuku()
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Comma Seperated Values / Excel Document (*.csv)|*.csv|All files (*.*)|*.*";
save.FilterIndex = 1;
string fileName = save.FileName;
fileName = fileName.Replace("\\","\\\\");
if (save.ShowDialog() == DialogResult.OK)
{
query = "SELECT * FROM daftar_buku INTO OUTFILE '" + fileName
+ "' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
}
if(this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
this.CloseConnection();
return true;
} else
{
return false;
}
}
下面是我添加的代码:
是否有代码替换它或授予保存权限?我只是以我的C目录为例,我想把它保存在任何地方。很抱歉我的英语不好。是的,看看这个,但我会使用try-catch,如果抛出权限异常,我会要求用户更改目录或以管理员身份运行程序。我想这是最好的办法。
string fileName = save.FileName;
fileName = fileName.Replace("\\","\\\\");
if (save.ShowDialog() == DialogResult.OK)
{
query = "SELECT * FROM daftar_buku INTO OUTFILE '" + fileName
+ "' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
}