|
При выполнении 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, 13:46 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 14:15 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
Оба варианта не помогли. Результат одинаковый: Строки, где значение столбца "2952" не выводятся, зато выводятся строки c "2952/1" , "2952/2", "2952/3"... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 16:15 |
|
При выполнении 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:24 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
Спасибо большое. Помогло и главное понял в чем косяк. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 16:49 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
slowmind, а такие варианты вы не пробовали? where Val([№ заказа]) = 2952 и where cstr([№ заказа]) = '2952' ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 16:52 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
mds_worldslowmind, а такие варианты вы не пробовали? where Val([№ заказа]) = 2952 и where cstr([№ заказа]) = '2952' Пробовал - вываливался в ошибки. Дело оказалось в значениях стобца Excel на что указал Игорь Горбонос. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 17:05 |
|
При выполнении sql запроса к Excel странно работает условие WHERE
|
|||
---|---|---|---|
#18+
> Автор: mds_world Так не получится, потому что по строке подключения видно что тип данных столбца определяется первыми тремя(восьмью) строками и все что умолчательно не конвертируется в этот тип просто не берётся, а заполняется NULL'ами. Можно поставить в строку подключения IMEX=1, но тогда все данные будут текстовыми. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2012, 17:13 |
|
|
start [/forum/search_topic.php?author=%D1%82%D1%8D%D0%BA%D1%81.&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 506ms |
0 / 0 |