C# 将文件名与服务器上已存在(连接)的数据库进行比较

C# 将文件名与服务器上已存在(连接)的数据库进行比较,c#,sql-server,C#,Sql Server,我需要将文件名(.mdf)与SQL server上的现有数据库进行比较,但我不知道如何进行比较。未连接的数据库必须显示在datagridview中 以下是迄今为止的代码: private void loadDB_Click_1(object sender, EventArgs e) { String[] files = Directory.GetFiles(@"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSS

我需要将文件名(.mdf)与SQL server上的现有数据库进行比较,但我不知道如何进行比较。未连接的数据库必须显示在datagridview中

以下是迄今为止的代码:

private void loadDB_Click_1(object sender, EventArgs e)
{
    String[] files = Directory.GetFiles(@"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\", "*.mdf", SearchOption.AllDirectories);

    DataTable table = new DataTable();
    table.Columns.Add("File Name");
    table.Columns.Add("Path");

    for (int i = 0; i < files.Length; i++)
    {
        FileInfo file = new FileInfo(files[i]);
        table.Rows.Add((Path.GetFileNameWithoutExtension(file.Name)),Path.GetFullPath(file.Name));
    }     

    dataGridView2.DataSource = table;
}
private void loadDB\u单击1(对象发送方,事件参数e)
{
String[]files=Directory.GetFiles(@“C:\Program files\Microsoft SQL Server\MSSQLS10\U 50.MSSQLSERVER\MSSQL\DATA\”、“*.mdf”、SearchOption.AllDirectories);
DataTable=新的DataTable();
table.Columns.Add(“文件名”);
table.Columns.Add(“路径”);
for(int i=0;i
DataTable dbTables=newdatatable();
sqldataadap;
SqlConnection=newsqlconnection(“yourConnectionString”);
SqlCommand cmd=newsqlcommand(@“从master.dbo.sysdatabases中选择名称”,连接);
adap=新的SqlDataAdapter(cmd);
adap.填充(数据库表);
字符串[]dbTableNames=dbTables.AsEnumerable()。选择(x=>x.Field(“name”)).ToArray();
字符串[]diff=files.Except(dbTableNames).ToArray();//检查差异的能力之一
要填充DataGridView,请执行以下操作:

dataGridView1.Columns.Add("FileName", "File Name");
for (int i = 0; i < diff.Length; i++)
{
     dataGridView1.Rows.Add(new object[] { diff[i] });
}
dataGridView1.Columns.Add(“文件名”、“文件名”);
对于(int i=0;i
可能尝试在SqlCommad:中使用此选项,然后将结果保存到文件名中。您还可以从db中选择文件名以获取文件路径-从master.dbo.sysdatabases中选择名称、文件名
dataGridView1.Columns.Add("FileName", "File Name");
for (int i = 0; i < diff.Length; i++)
{
     dataGridView1.Rows.Add(new object[] { diff[i] });
}