Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# fileinfo、datagridview、file.exist_C#_Datagridview_Fileinfo - Fatal编程技术网

C# fileinfo、datagridview、file.exist

C# fileinfo、datagridview、file.exist,c#,datagridview,fileinfo,C#,Datagridview,Fileinfo,有人能帮我吗?我还在搞清楚,我的主窗体上有一个datagridview,目前将上传的文件信息保存在那里,但我想做一个检查,看看文件是否存在,如果确实上传了就不要上传,但老实说,我很难理解fileinfo、directoryinfo和,如何使用它请看一下我的代码, 提前谢谢 string sqlSt = "Insert into Documents (CategoryID, PathofDocument,DocumentName,FileSize,FileExtension,AddedBy,Las

有人能帮我吗?我还在搞清楚,我的主窗体上有一个datagridview,目前将上传的文件信息保存在那里,但我想做一个检查,看看文件是否存在,如果确实上传了就不要上传,但老实说,我很难理解fileinfo、directoryinfo和,如何使用它请看一下我的代码, 提前谢谢

string sqlSt = "Insert into Documents (CategoryID, PathofDocument,DocumentName,FileSize,FileExtension,AddedBy,LastActioned) values (@CategoryID,@FilePath,@FileName,@FileSize,@FileExtension,@AddedBy,@LastActioned)";


            OpenFileDialog fi = new OpenFileDialog();
            //DialogResult result = fi.ShowDialog();
            fi.Filter = "allfiles (*.*)|*.* |Text files(*.txt)|*.txt | Excel Files (*.xls)| *.xls |EmailFiles (*.msg) | *.msg";
            string fileio = fi.FileName;
            FileInfo file = new FileInfo(fileio);



                if (fi.ShowDialog() != DialogResult.OK)
                {
                    if (file.Exists(,fileio))
                    { }

                //    MessageBox.Show("File Already exist" + file.FullName);

                }
                else

                    if (file.Exists != true)
                    {
                        using (SqlConnection Conn = new SqlConnection(Connstring))
                        {
                            using (SqlCommand cmd = new SqlCommand(sqlSt, Conn))
                            {
                                Conn.Open();
                                cmd.Parameters.AddWithValue("CategoryID", treeView1.SelectedNode.Tag);
                                cmd.Parameters.AddWithValue("@FilePath", Path.GetFullPath(fi.FileName));
                                cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(file.Name));
                                cmd.Parameters.AddWithValue("@FileSize", file.Length / 1024);
                                cmd.Parameters.AddWithValue("@FileExtension", file.Extension);
                                cmd.Parameters.AddWithValue("@AddedBy", UserCon.Text);
                                cmd.Parameters.AddWithValue("@LastActioned", file.LastAccessTime);
                                cmd.ExecuteNonQuery();
                                SetValueforAddedB = UserCon.Text;
                                SetValueforType = Typtxt.Text;
                                Conn.Close();
                            }
                        }

文件
有一个静态方法,可用于查看文件是否存在

if (File.Exists("path"))
{
    // upload code
}
else
{
    // show message or whatever
}
我正在努力理解fileinfo和directoryinfo之间的区别

FileInfo
用于交互和处理文件
DirectoryInfo
用于与文件夹(目录)进行交互和工作

如果要对文件执行单个操作,请使用静态类
file
。这同样适用于
目录
。但是,如果要执行多个操作,例如检查文件是否存在,请读取文件,然后更改文件,然后保存文件,在这种情况下,请使用
FileInfo


文件
目录
是静态类
FileInfo
DirectoryInfo
是非静态的,因此您可以创建一个实例,保留该实例并对该实例执行所有操作。

在获得用户选择之前设置变量没有意义请更好地解释您想要做什么。如果用户取消OpenFileDialog,此代码将在数据库中运行insert。这似乎不正确。另外,如果文件存在,您想做什么?没有上传代码。我也尝试过,但是如果我声明了路径,我需要将其设置为一个值,并且我希望将其设置为用户选择的文件的路径只要使用
if(file.Exists(fi.FileName))
非常感谢,非常有意义欢迎您。由于您是本网站的新手,请阅读