powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вопросы по работе с Excel, запрос к листу через переменную
3 сообщений из 3, страница 1 из 1
Вопросы по работе с Excel, запрос к листу через переменную
    #36633495
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!!!!!
Народ уже 2 часа долбаюсь, и поиском пользовался и гуглом.
Что- то не получается.
Есть код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
string NowDate = System.DateTime.Now.ToString("dd.MM.yyyy") + "(+0)$";
            string DTomorowate = System.DateTime.Now.AddDays(1).ToString("dd.MM.yyyy") + "(+0)$";

            OleDbConnection objConn = null;
            System.Data.DataTable dt = null;
 
            String connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + comboBoxInp2.Text + ";Extended Properties=Excel 8.0;"; 
            objConn = new OleDbConnection(connString);
            objConn.Open();
            dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

            String[] excelSheets = new String[dt.Rows.Count];
            int i = 0;
                        
            foreach (DataRow row in dt.Rows)
             {
              excelSheets[i] = row["TABLE_NAME"].ToString();
              i++;
             }

            OleDbCommand cm = null;
            cm = new OleDbCommand("select * from [" +NowDate+ "] ", objConn);
            OleDbDataAdapter da = new OleDbDataAdapter();

            da.SelectCommand = cm;
            DataTable _table = new DataTable();
            da.Fill(_table);
            da.Dispose();
            cm.Dispose();


            MessageBox.Show( Convert.ToString (_table.Rows.Count));

выдает такой эксепшн - Недопустимое имя: "18.05.2010[+0]$". Убедитесь, что оно не содержит недопустимые символы или знаки препинания, а также не является слишком длинным.
и указывает на da.Fill(_table);

мой cm.CommandText = "select * from [18.05.#2010(+0)$] "

если написать cm = new OleDbCommand("select * from [18.05.2010(+0)$] ", objConn);
то все нормально работает ((((
...
Рейтинг: 0 / 0
Вопросы по работе с Excel, запрос к листу через переменную
    #36633636
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вопросик, запрос:

Код: plaintext
1.
cm = new OleDbCommand("select * from [11.05.2010 (+0)$] WHERE [Название передачи] Like '%Региональное окно%'", objConn);

на него эксепшн:
Отсутствует значение для одного или нескольких требуемых параметров.

попробовал через параметр

Код: plaintext
1.
2.
cm = new OleDbCommand("select * from [11.05.2010 (+0)$] WHERE [Название передачи] Like @name", objConn);
cm.Parameters.AddWithValue("@name", "Региональное окно%");

тот-же эксепшн (((

какой параметр??? Вроде же верный запрос...
...
Рейтинг: 0 / 0
Вопросы по работе с Excel, запрос к листу через переменную
    #36637974
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наконец-то, еще бы чуток и мозг сломал)))

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
foreach (DataRow row in dt.Rows)
{
    excelSheets[i] = "[" + row["TABLE_NAME"].ToString() + "]" ;
    i++;
}

OleDbCommand cm = null;          
cm = new OleDbCommand();
cm.Connection = objConn;
cm.CommandText = @"SELECT * FROM " + excelSheets[0];     
OleDbDataAdapter da = new OleDbDataAdapter ();

da.SelectCommand = cm;

второй вопрос актуален))
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вопросы по работе с Excel, запрос к листу через переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]