Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.06.2012, 13:46
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
Всем доброго времени суток. Есть таблица в excel (15000 строк,50 столбцов). Столбец [№ заказа] тип String в dataset и текстовый в Excel. Так вот, если сделать запрос с условием select * from [Продукция$A5:Y13475] where [№ заказа] = '2952/2', то в гриде видны все подходящие записи, но если [№ заказа] = '2952', то не выводится ниодной записи хотя в Excel они есть. В чем косяк, хоть убей, не могу понять. Есть предположения? Код подключения: Dim strcon As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Excel 8.0;HDR=1""; Data Source=" + ExcelPath MyConnection = New System.Data.OleDb.OleDbConnection(strcon) MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Продукция$A5:Y13475] where [№ заказа] = '2952' ", MyConnection) DtSet = New System.Data.DataSet MyCommand.Fill(DtSet) DataGridView1.DataSource = DtSet.Tables(0) Результат пустая таблица,а должна быть одна запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 14:15
|
|||
---|---|---|---|
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
Код: vbnet 1.
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 16:15
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
Оба варианта не помогли. Результат одинаковый: Строки, где значение столбца "2952" не выводятся, зато выводятся строки c "2952/1" , "2952/2", "2952/3"... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 16:24
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
> Автор: slowmind > Строки, где значение столбца "2952" не выводятся, зато выводятся строки c "2952/1" , "2952/2", "2952/3"... Сделай весь столбец текстовым и преобразуй данные в текст функией ТЕКСТ(), после чего будет выводится. Можеш выполнить запрос Код: vbnet 1.
и увидиш что в результате будут строки у которых в файле номер заказа стоит 2952 Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 16:49
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
Спасибо большое. Помогло и главное понял в чем косяк. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 16:52
|
|||
---|---|---|---|
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
slowmind, а такие варианты вы не пробовали? where Val([№ заказа]) = 2952 и where cstr([№ заказа]) = '2952' ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 17:05
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
mds_worldslowmind, а такие варианты вы не пробовали? where Val([№ заказа]) = 2952 и where cstr([№ заказа]) = '2952' Пробовал - вываливался в ошибки. Дело оказалось в значениях стобца Excel на что указал Игорь Горбонос. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2012, 17:13
|
|||
---|---|---|---|
|
|||
При выполнении sql запроса к Excel странно работает условие WHERE |
|||
#18+
> Автор: mds_world Так не получится, потому что по строке подключения видно что тип данных столбца определяется первыми тремя(восьмью) строками и все что умолчательно не конвертируется в этот тип просто не берётся, а заполняется NULL'ами. Можно поставить в строку подключения IMEX=1, но тогда все данные будут текстовыми. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&tablet=1&tid=2157718]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 488ms |
0 / 0 |