SqlDataAdapter处理错误-未创建对象

时间:2018-10-11 07:39:11

标签: c# sql-server-2017 sqldataadapter

我遇到此错误:

Invalid object name 'sap.AfdelingsrapportACTUAL'.

这是因为尚未创建此表。

我需要在SqlDataAdapter中执行检查-因此,如果为null或什么都没有得到,它将继续进行。但是我真的不知道该怎么做。

  

我认为它应该在我的SqlDataAdapter周围,但是我可能错了

代码

 DataTable sqldt = new DataTable();
            string sqlQuery = @"Select * from " + table;
            SqlConnection sqlcon = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(sqlQuery, sqlcon);
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
             da.Fill(sqldt);
            }

我认为应该是这样的:

 public static bool CompareDataTables(DataTable dt, string table, string connectionString)
        {
            DataTable sqldt = new DataTable();
            string sqlQuery = @"Select * from " + table;
            SqlConnection sqlcon = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(sqlQuery, sqlcon);
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {

                if (da == "doesnt have any table")
                {
                    return true;
                }
                else
                {
                    da.Fill(sqldt);
                }
            }

            int sqlCols = sqldt.Columns.Count;
            int excelCols = dt.Columns.Count;

            if (excelCols == sqlCols)
            {
                return false;
            }
            else return true;

        }

1 个答案:

答案 0 :(得分:0)

一种方法是首先检查数据表是否存在。

遵循此处给出的示例: Check if table exists in SQL Server