C# fileinfo、datagridview、file.exist
有人能帮我吗?我还在搞清楚,我的主窗体上有一个datagridview,目前将上传的文件信息保存在那里,但我想做一个检查,看看文件是否存在,如果确实上传了就不要上传,但老实说,我很难理解fileinfo、directoryinfo和,如何使用它请看一下我的代码, 提前谢谢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
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))
非常感谢,非常有意义欢迎您。由于您是本网站的新手,请阅读