C# 使用Winform,从sql server中删除记录,并检查文件是否存在
我的程序有一个“删除”表单,用户可以输入一个记录键,它将删除整个记录。记录键是我的主键。在我的数据库中有一个名为“resumelink”的字段。resumelink只有一个文件名和一个扩展名,例如“Doc100.pdf”。当我在删除表单中输入记录键时,我希望它首先检查是否存在与resumelink字段类似的文件。如果有,它将删除它。如果没有,它将继续删除整个记录 我知道如何使用File.Exists,但如何使用特定记录键的resumelink字段?下面是我的删除按钮代码。很简单C# 使用Winform,从sql server中删除记录,并检查文件是否存在,c#,sql-server,winforms,C#,Sql Server,Winforms,我的程序有一个“删除”表单,用户可以输入一个记录键,它将删除整个记录。记录键是我的主键。在我的数据库中有一个名为“resumelink”的字段。resumelink只有一个文件名和一个扩展名,例如“Doc100.pdf”。当我在删除表单中输入记录键时,我希望它首先检查是否存在与resumelink字段类似的文件。如果有,它将删除它。如果没有,它将继续删除整个记录 我知道如何使用File.Exists,但如何使用特定记录键的resumelink字段?下面是我的删除按钮代码。很简单
using (SqlCommand deleteCommand = connection.CreateCommand())
{
deleteCommand.CommandText = "DELETE FROM HRresume WHERE recordkey = @recordkey";
deleteCommand.Parameters.AddWithValue("@recordkey", recordkeyAdd.Text);
deleteCommand.Connection.Open();
deleteCommand.ExecuteNonQuery();
MessageBox.Show("Resume Deleted.");
connection.Close();
this.Dispose();
}
据我所知,这个
resume链接是HRresume
表中的另一列。
假设这是SQL Server,您可以使用如下查询:
DELETE FROM HRresume
OUTPUT DELETED.resumelink
WHERE recordkey = @recordkey
这将删除记录,同时输出resumelink
列的值
将deleteCommand.ExecuteNonQuery()
更改为deleteCommand.ExecuteReader()
并从中读取文件名。是否在同一HRresume
表中?如果是这样,您需要先执行选择
以获取简历链接
,然后您可以使用文件.Exists
,当然,假设所有这些都在同一台服务器上运行。是的,简历链接在HRresume表中。所以我可以使用File.Exists(path+“@resumelink”)来检查文件?太棒了。我的老板刚叫我去,所以我现在还不能尝试,但我肯定会在周五再谈。谢谢你,先生!所以我今天要试试这个。我还是有点困惑。我的sql查询中有“output deleted.resumelink”,但如何将其放入“file.exists”if语句中?因为我想我会写‘if(file.exists(path+@“resumelink)),但这似乎不对。你能再给我指出正确的方向吗?