Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 01:21   #1
bogdanchek
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 10
По умолчанию SQL запрос

Пишу в SQL следующий запрос :
Код:
SELECT * FROM Materials,Parameters,[Values],Suppliers,Sensors WHERE [Values].MaterialId = Materials.Id AND [Values].SensorId = Sensors.Id AND Materials.SupplierId = Suppliers.Id AND Parameters.Id = Sensors.ParameterId AND MaterialName='Зерно'
все корректно отрабатывает,
тожесамое пытаюсь написать на C# :
Код:
_comandText = "SELECT * FROM Materials,Parameters,[Values],Suppliers,Sensors WHERE [Values].MaterialId = Materials.Id AND [Values].SensorId = Sensors.Id AND Materials.SupplierId = Suppliers.Id AND Parameters.Id = Sensors.ParameterId";
...
_comandText += " AND MaterialName='" + m.MaterialName + "'";
// _comandText на 100% совпадает с запросом на SQL, я брал его(запрос для SQL) прямо отсюда во время дебага проги
...
private DataTable _table;
...
_table = RaportGateway.Instance.GetRaport(_comandText);
...
 public DataTable GetRaport(string commandText)
        {
            cmd = new SqlCommand(commandText, Connection);
            _adapter = new SqlDataAdapter(cmd);
            try
            {
                _adapter.Fill(_table);

                return _table;
            }
            catch (Exception ex)
            { // тут ловится Value cannot be null.Parameter name: dataTable, в _table соответственно null
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (Connection.State == ConnectionState.Open)
                    Connection.Close();
            }
        }
почему такое может быть ?
bogdanchek вне форума Ответить с цитированием
Старый 31.01.2012, 13:53   #2
bogdanchek
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 10
По умолчанию

Эксепшн больше не вылетает, но в таблицу попрежнему ничего не приходит.
bogdanchek вне форума Ответить с цитированием
Старый 31.01.2012, 14:37   #3
alexey2
Пользователь
 
Регистрация: 27.01.2012
Сообщений: 37
По умолчанию

_adapter.Fill(_table);
до вызова _table должен быть инициализирован например как new DataTable();
Поставь брейкпоинт да посмотри как оно работает, где открывается connection например?
alexey2 вне форума Ответить с цитированием
Старый 31.01.2012, 15:08   #4
bogdanchek
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 10
По умолчанию

Да, разобрался, мои мелкие глупые ошибки.
bogdanchek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос SQL Anastasia_ БД в Delphi 3 25.05.2011 22:54
SQL запрос Tanushka=) SQL, базы данных 2 23.05.2011 17:09
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15