|
|
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Собственно создаю новую базу (MSAccess 2003), создаю таблицу Table1 с полями Field1, Field2 типа Длинное целое. Далее - создаю новый запрос: SELECT *, Field1 BAND Field2 FROM Table1 получаю ошибку: Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Field1 BAND Field2' Собственно мне нужно использовать битовые операции в запросах из VB6 через ADO. Люди на этом форуме говорили: > Для ADO recordset (Jet 4.0 provider) можно воспользоваться оператором band. Но я что-то не вижу, чтобы BAND работал даже в простейших запросах даже без ADO. Проясните ситуацию - может это работать или нет и при каких условиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:09:42 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Сервис-Параметры-Таблицы и запросы-Синтаксис для SQL Server - проставить птицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:23:41 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
кстати, без адо это не должно (бы) работать :) (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:24:39 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
из любопытства проверил - работают все битовые операции - b1 и b2 - длинные целые SELECT Таблица1.*, (b1 band b2 ) as mband, (b1 bxor b2) as mxor, (b1 bor b2) as mbor,(bnot b2) as mbnot FROM Таблица1; (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:56:36 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Victoshaиз любопытства проверил - работают все битовые операции - b1 и b2 - длинные целые SELECT Таблица1.*, (b1 band b2 ) as mband, (b1 bxor b2) as mxor, (b1 bor b2) as mbor,(bnot b2) as mbnot FROM Таблица1; (с выражением лица) А чем band от and отличается? Или я тут один отсталый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:02:58 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
кстати - насчет MS SQL Server - что-то мне подсказывает, что там это так делается MSSQL синтаксис операция& and| or~ not ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:05:58 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
paparomeА чем band от and отличается? Или я тут один отсталый? нас двое, по крайней мере. а отличается результатом. (14 AND 5) = -1(True) - результат приведен к Истина/Ложь (14 BAND 5) = 4 - целое, представляющее собой результат побитового AND, примененного к исходным операндам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:20:25 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Victosha paparomeА чем band от and отличается? Или я тут один отсталый? нас двое, по крайней мере. а отличается результатом. (14 AND 5) = -1(True) - результат приведен к Истина/Ложь (14 BAND 5) = 4 - целое, представляющее собой результат побитового AND, примененного к исходным операндам. ну в VBA давно: (14 AND 5) = 4 (что можно пользовать и в 97 и в 2000). а BAND - это начиная с 2002? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:47:22 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
еще отсталеееее <...> а BAND - это начиная с 2002? В смысле подддержки в пользовательском интерфейсе - наверно да. В остальном - это больше похоже на "свойство/поддиалект" Jet.OLDEDB.4.0 провайдера. А он с A2K живет. То есть на АДО-рекордсетах - принимается и возвращает что надо, на ДАО - рассказывает о недопустимом синтаксисе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 23:22:24 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
VictoshaСервис-Параметры-Таблицы и запросы-Синтаксис для SQL Server - проставить птицу Хорошо. А как эту опцию поставить при работе через ADO? Что нужно дописать в connection string? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 09:29:06 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
В общем, по итогам раскопок в инете и своих тестов могу сказать следующее - при работе через ADO по умолчанию используется синтаксис SQL 92, поэтому бинарные операции (BAND, BOR, BXOR) работают. При этом то как была создана база - роли не играет. Для того чтобы в среде MSAccess использовался синтаксис SQL 92 и работали бинарные операции - нужно поставить вышеприведенную галку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 10:10:10 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Victosha еще отсталеееее <...> а BAND - это начиная с 2002? В смысле подддержки в пользовательском интерфейсе - наверно да. В остальном - это больше похоже на "свойство/поддиалект" Jet.OLDEDB.4.0 провайдера. А он с A2K живет. То есть на АДО-рекордсетах - принимается и возвращает что надо, на ДАО - рассказывает о недопустимом синтаксисе. дык это (Jet 4.0) я поняв. (про то что в аде оно будет через 92 я тоже вроде как в курсе). Я просто в задумчивости по поводу галки в интерморде акс2000. Вернее ее отсутствия. То ли я плехо искал, то ли глаз у мене не там по жизни. Вот и поспрашал - есть ли галка в 2к, и где ее искать. Насколько я понял, галки в 2к таки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:13:26 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Уважаемые, для меня остались две непонятки: 1. как из ADO подсоединится или переключиться в режим Access SQL (НЕ-SQL92) и возможно ли это вообще 2. как программно создать базу в которой сразу стоит флажок "Синтаксис ANSI 92" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 12:10:14 |
|
||
|
Еще раз про битовые операции
|
|||
|---|---|---|---|
|
#18+
Никита А. ЗиминУважаемые, для меня остались две непонятки: 1. как из ADO подсоединится или переключиться в режим Access SQL (НЕ-SQL92) и возможно ли это вообще 2. как программно создать базу в которой сразу стоит флажок "Синтаксис ANSI 92" 1 никак 2 это собственность Аксецца как приложения, а не мдб как файла определенного формата. И он (Акцесс) ее никому не отдаст. Так что "базу создать" - тоже никак, а акцесс перевести в соответствующий режим - ищи вокруг SetOption ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 14:00:58 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1669751]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
78ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 338ms |

| 0 / 0 |
