Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > особенности статического конструктора?


Автор: 4ybaka 27.12.2007, 17:31
добрый день.
Столкнулся с такой вот проблемой.есть статический класс,в конструкторе которого выполняется следующий код:
Код

    static DataClass()
    {
        connection.Open();
        dataAdapter = new SqlDataAdapter("select * from LoginData", connection);
        connection.Close();

        usersTable = new DataTable();
        dataAdapter.Fill(usersTable);
    }

так вот после этого в usersTable толлько 1 запись,хотя их там несколько.если же сделать все тоже самое но не в функции,то выдает все записи.поясните,почему так?

Автор: farad 27.12.2007, 18:35
Проблема не в том, что класс и конструктор статические smile. Со статическими методами проще огрести больше ошибок. Поэтому представленного кода явно недостаточно. кстати кусок:
Код

connection.Open();
        dataAdapter = new SqlDataAdapter("select * from LoginData", connection);
        connection.Close();
явно грешит. Зачем открывать соединение чтобы создать адаптер?

Автор: 4ybaka 27.12.2007, 18:58
а остального то нету...
Код

    static SqlConnection connection = new SqlConnection(@"Data Source=Byku\sqlexpress;Integrated Security=true;Initial Catalog=HouseDB");
    static SqlDataAdapter dataAdapter;
    static DataTable table;
    static DataTable usersTable;

про соединение спасибо smile

Автор: farad 28.12.2007, 14:34
странно, попробуй connection так же создавать в статическом конструкторе, перед созданием  адаптера. Можеть база где -то еще не меняется...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)