Размер столбца базы данных

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Размер столбца базы данных

Сообщение Алексей К. » 18.03.2005 (Пт) 10:19

Столкнулся с такой проблемой. Пользуюсь ацем, в нем размер столбца от 0 до 255 а мне надо больше. Разбивать запись на два столбца в случае преувеличения 255, а потом собирать - лишний гемор. Может посоветуете другие базы данных (если такие вообще есть), в которых размер поля больше 255 ?

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 18.03.2005 (Пт) 10:30

В акцессе в таблице есть еще и тип данных "поле МЕМО". Его размер - до 65 535 знаков.
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 18.03.2005 (Пт) 10:39

Но там (memo) все лишние правые пробелы удаляются всегда. А у меня запись - результат шифровки символьной строки (blowfish), будет пробел в конце - а база уберет его, расшифровать запись я уже не смогу :(

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.03.2005 (Пт) 10:41

Пробелы убирает не база, а Access.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.03.2005 (Пт) 10:55

Andrev писал(а):В акцессе в таблице есть еще и тип данных "поле МЕМО". Его размер - до 65 535 знаков.


Вообще-то это не так:

Число знаков в поле MEMO: 65 535 при вводе данных через интерфейс пользователя или 1 Гбайт для хранения знаков при программном вводе данных.

То есть в одном поле можно сохранить до 1Gb.

Кроме MEMO можно пользовать поле OLE - то же до 1Gb.

Пробелы убирает не база, а Access.


Угу. Скорей всего TextBox. И, вообще-то, правильно делает.
Чтобы не убирал надо присваивать полю Recordset-a значение самостоятельно, без использования TextBox.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 18.03.2005 (Пт) 11:11

Под базой я имел ввиду access.

Записи я заполняю программно и без textbox, так что убирает именно сама база. Даже при работе в самом аце при вводе пробелов (правых), зайдя в таблицу второй раз их уже не будет. А мне этого не надо. А с OLE такая же беда или нет?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.03.2005 (Пт) 11:16

А как ты видишь-то что пробелы убрались - в том-же TextBox-е?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 18.03.2005 (Пт) 11:19

Алексей К. писал(а):Но там (memo) все лишние правые пробелы удаляются всегда. А у меня запись - результат шифровки символьной строки (blowfish), будет пробел в конце - а база уберет его, расшифровать запись я уже не смогу :(

Ну и ставь в конце свое строки какой-нибудь тэг-разделитель. chr(13) или что-нибудь в этом роде. А перед расшифровкой удаляй его...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.03.2005 (Пт) 11:28

Sedge писал(а):Ну и ставь в конце свое строки какой-нибудь тэг-разделитель. chr(13) или что-нибудь в этом роде. А перед расшифровкой удаляй его...


Зачем извращаться? Никакие разделители даром не нужны.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 18.03.2005 (Пт) 11:45

to Andrey Fedorov:
А как ты видишь-то что пробелы убрались - в том-же TextBox-е?

Про текстбокс ни кто речи и не ведет. Проверял удаление пробелов в аце: ручками в таблицу в поле-memo заношу "ппппп ". Нажимаю ввод. Закрываю таблицу, захожу в нее опять, встаю курсором на запись а там уже "ппппп" и никаких пробелов.

Зачем извращаться? Никакие разделители даром не нужны.


предложи свой вариант - без извращений, буду только рад.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.03.2005 (Пт) 11:51

Алексей К. писал(а):предложи свой вариант - без извращений, буду только рад.


Да что там предлагать-то, вот код из модуля Access:

Код: Выделить всё
    Dim cn As ADODB.Connection, r As New ADODB.Recordset
   
    Set cn = CurrentProject.AccessConnection
   
    cn.Execute "DELETE * FROM MyTab"
   
    r.Open "SELECT * FROM MyTab", cn, adOpenStatic, adLockOptimistic
    r.AddNew
    r!Text = "5000" & Space(4996)
    r.Update
    r.Close
   
    r.Open "SELECT * FROM MyTab", cn, adOpenStatic, adLockOptimistic
    Debug.Print Len(r!Text)
    r.Close


В табличке поле Text - MEMO.
Debug.Print выдает 5000 -> т.е никакие пробелы не обрезаны.

Что ты там делаешь что они "обрезаются" мне неведомо. :shock:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.03.2005 (Пт) 11:54

Алексей К. писал(а):Про текстбокс ни кто речи и не ведет. Проверял удаление пробелов в аце: ручками в таблицу в поле-memo заношу "ппппп ". Нажимаю ввод. Закрываю таблицу, захожу в нее опять, встаю курсором на запись а там уже "ппппп" и никаких пробелов.

Ты не ручками в таблицу заходи, а кодом задавай.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 18.03.2005 (Пт) 12:03

Понятно: когда вручную заносишь убирает пробелы, а когда программно все нормально
Спасибо всем ! :D


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList