Ошибка обработки SqlDataAdapter - объект не создан - PullRequest
0 голосов
/ 11 октября 2018

У меня есть эта ошибка:

Invalid object name 'sap.AfdelingsrapportACTUAL'.

Это связано с тем, что эта таблица еще не создана.

Мне нужно выполнить проверку в моем SqlDataAdapter - так что если значение равно нулю илине получает ничего, что движется дальше.Но я действительно не знаю, как это сделать.

Я думаю, что это должно быть вокруг моего 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 голосов
/ 11 октября 2018

Один из способов - сначала проверить наличие таблицы данных.

следуйте приведенному здесь примеру: Проверьте, существует ли таблица в SQL Server

...