1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

C# + Access + Select

Тема в разделе ".NET", создана пользователем Smorodin, 30 сен 2007.

Статус темы:
Закрыта.
  1. Smorodin

    Smorodin Гость

    Репутация:
    0
    Есть таблица. В ней поля:
    id - Счетчик
    name - Текстовый
    vuz_id - Числовой.

    Есть код:
    Код:
    		public Zvons(int vid)
    {
    InitializeComponent();
    //MessageBox.Show(vid.ToString());
    string connectionString = "provider=Microsoft.JET.OLEDB.4.0;" + "data source = c:\\db.mdb";
    string commandString = "select `id`, `name` from zvon WHERE `vuz_id`='" + vid + "'";
    OleDbDataAdapter DataAdapter = new OleDbDataAdapter(commandString, connectionString);
    
    DataSet DataSet = new DataSet();
    
    DataAdapter.Fill(DataSet, "zvon");
    
    DataTable dataTable = DataSet.Tables[0];
    
    
    foreach (DataRow dataRow in dataTable.Rows)
    {
    ...			  
    }
    }
    Ругается так:
    и показывает на строку:
    Код:
    DataAdapter.Fill(DataSet, "zvon");
    В чем ошибка? Я еще только учусь... :huh:
     
  2. Pasha

    Pasha Гость

    Репутация:
    0
    Для: Smorodin
    У тебя при этом база открыта в Access? Если да, то закрой перед запуском проги.
     
  3. Smorodin

    Smorodin Гость

    Репутация:
    0
    Ты- гений :ph34r:
    Еще возник вопрос: а можно средствами C# узнать, открыта база или нет? :)

    Еще проблема:
    Код:
    			string connectionString = "provider=Microsoft.JET.OLEDB.4.0;" + "data source = c:\\db.mdb";
    string commandString = "SELECT pars.id, pars.start, pars.end FROM pars WHERE (((pars.zvon_id)=2))";
    OleDbDataAdapter DataAdapter = new OleDbDataAdapter(commandString, connectionString);
    
    DataSet DataSet = new DataSet();
    
    DataAdapter.Fill(DataSet, "pars");
    
    DataTable dataTable = DataSet.Tables[0];
    
    int i = 0;
    
    
    foreach (DataRow dataRow in dataTable.Rows)
    {
    }
    Ругается "IErrorInfo.GetDescription failed with E_FAIL(0x80004005)."
    и показывает на "DataAdapter.Fill(DataSet, "pars");"
     
  4. Pasha

    Pasha Гость

    Репутация:
    0
    Для: Smorodin
    Access это зло.
    Погугли. Потом перепиши запрос с квадратными скобками: "SELECT [pars].[id], [pars].[start], [pars].[end]...".
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей