打开文件对话框过滤器无法正常工作

时间:2019-05-13 10:10:58

标签: c# winforms openfiledialog

我创建了一个小应用程序,该应用程序需要一个文件并将其上传到SQL数据库。我只希望该应用程序使用.CSV文件,并且已经应用​​了我认为是必要的过滤器,但是用户仍然可以看到并尝试上传我需要限制的其他文件类型。

我已经搜索了如何过滤文件类型并将其应用于以下代码。我可以在下拉框中看到打开文件对话框的工作原理,但是实际上并没有过滤任何内容。用户仍然可以选择其他文件类型并尝试上传它们。

OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
ofd.Filter = "CSV files (*.csv)|";
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK) 
        {
 //Do work here
        }

无论如何,是否可以检查用户是否选择了cxsv并停止该过程?还是实际上要执行过滤器的工作以隐藏其他文件类型?非常感谢

2 个答案:

答案 0 :(得分:2)

您只设置过滤器标签,而不设置文件扩展名。

ofd.Filter = "CSV files (*.csv)|*.csv";

答案 1 :(得分:1)

您缺少文件扩展名。您可以参考FileDialog.Filter Property了解更多详情。

SQL = 'UPDATE public."mytable" SET alias=%s WHERE id=%s'
query = cursor.mogrify(SQL, ([values] , id))
cursor.execute(query)
conn.commit()