Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
Допустимы ли названия таблиц в Access со спец символами ( пробел, круглая скобка) ? К гриду таблица пристыковывается, а при операции Update возникает ошибка. В чем дело ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 11:56 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
>операции Update возникает ошибка. В чем дело ? Надо писать какая ошибка. Могу только предположить что это Incorrect Syntax? А вообще чтобы избежать таких или подобных проблем, следует забыть про русский, спецсимволы и пробелы. (это касается программирования в целом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 12:37 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
Добавлю, что при ручном написание коммандов необходимо это название таблицы ставить в квадратные скобки (справедливо для MS SQL, думаю для Access тоже), при использовании CommandBuilder следует обратить внимание на свойства Quotted. Там тоже задать откывающую и закрывающую квадратную скобку - префикс и суффикс соотственно и тогда CommandBuilder будет правильно генерировать комманды, следовательно ошибка Incorrect Syntax при update происходить не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 09:14 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
Выдается сообщение Update requires a valid InsertCommand when passed DataRow collection with new rows. Кстати, квадратные скобки я непременно ставлю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 11:36 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
>Выдается сообщение Update requires a valid InsertCommand when passed DataRow collection with new rows. Видимо без кода не обойтись, привидите код InsertCommand или кусок кода как он генерируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 11:46 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
Привожу код Dim dataCommandBuilder_GoodDet As New OleDb.OleDbCommandBuilder(obj_GoodDet) obj_GoodDet.InsertCommand = dataCommandBuilder_GoodDet.GetInsertCommand obj_GoodDet.DeleteCommand = dataCommandBuilder_GoodDet.GetDeleteCommand obj_GoodDet.UpdateCommand = dataCommandBuilder_GoodDet.GetUpdateCommand obj_GoodDet.Fill(GoodDet, "Increasedetails") при обновлении UltraGrid2.DisplayLayout.Bands(0).CardView = False Try UltraGrid2.UpdateData() obj_GoodDet.Update(GoodDet, "Increasedetails") Catch GoodDet.RejectChanges() MsgBox("Ошибка при записи в базу данных", vbInformation + vbOKOnly, "Дистрибьюторы") End Try UltraGrid2.Update() UltraGrid2.Refresh() Эта таблица (Increasedetails) является содержанием накладных, шапки которых прекрасно обновляются, хотя в названии полей присутствуют спецсимволы ( за время работы успел сделать название этой таблицы (Increasedetails) без спец символов) Когда (для теста) обновляю эту таблицу выдается ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 19:48 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
>та таблица (Increasedetails) является содержанием накладных, шапки которых прекрасно обновляются, хотя в названии полей присутствуют спецсимволы ( за время работы успел сделать название этой таблицы (Increasedetails) без спец символов) Вот теперь все понятно, ключ в вашем выражение - "в название полей присутствуют спецсимволы" CommandBuilder еще может съесть через QuotePrefix и QuoteSuffix пробел в названии таблицы, но в названии поля спецсимволов быть не должно. Возможное решение: Поменять название всех полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 23:12 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
> Вот теперь все понятно, ключ в вашем выражение - "в название полей присутствуют спецсимволы" Дело в том, что таблица Increase ("шапки" накладных) имеет в своем составе ключевое поле ("ID increase"), а также ряд других поле без спецсимволов, но при этом обновление этой таблицы происходит отлично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 10:22 |
|
||
|
Названия таблиц Access со спец символами
|
|||
|---|---|---|---|
|
#18+
Вот что по этому поводу написано в классике: If your SelectCommand SQL columns contain special characters, such spaces, periods, quotes or non-alphanumeric characters , you can't use the CommandBuilder. Если хотите детально разобраться что же происходит то посмотрите что генерит CommandBuilder. dataCommandBuilder_GoodDet.GetUpdateCommand().CommandText dataCommandBuilder_GoodDet.GetInsertCommand().CommandText dataCommandBuilder_GoodDet.GetDeleteCommand().CommandText Я так понял у вас Master Details - Increase и IncreaseDetails. Уберите все спецсимволы из столбцов и Master таблицы и IncreaseDetails Detail таблицы. Ну если проблемы останутся то результаты сюда, вместе с текстом Commandов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 10:46 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=20&tid=1439361]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 411ms |

| 0 / 0 |
