|
При выполнении 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/topic.php?fid=60&msg=37829475&tid=2157718]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 297ms |
total: | 424ms |
0 / 0 |