Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Хранение данных число-строка


Автор: JenHak 30.3.2014, 17:06

В общем в чем вопрос, Как лучше хранить пару значений "число - строка" не разрывая их и имея быстрый доступ по любому полю
Который раз натыкаюсь на эту задачу, и каждый раз решаю её по разному.
Был и вариант с массивом строк, когда в роли числа выступал индекс,
Делал и через массив записей, Через отдельные объекты, 
Хранил в 1й строке используя разделитель, в паре ComboBox + массив чисел,
даже в  .ini файлах...

И вот опять.
Есть необходимость заполнить списком из базы данных, но попутно сохраняя индекс (числа в диапазоне 1-1000, но с пропусками)
Уже решил сделать так делать
 
Код

СomboBox.Items[DQuery.Fields[0].AsInteger]:=DQuery.Fields[1].AsString;

а при рисовании объекта, проверять что строка не пустая..... с одной стороны, при выборе элемента не потребуется искать id, c другой стороны, каждый при отрисовке будет выполняться проверка...

Подскажите как-же эффективнее и лучше хранить такие данные...

P.S. необходимо находить как строку по числу, так и число по строке...
Delphi Rad Studio XE5

Автор: Poseidon 30.3.2014, 17:22
Цитата(JenHak @  30.3.2014,  17:06 Найти цитируемый пост)
Delphi Rad Studio XE5
Ну раз так, то я посоветую TDictionary. Можно еще TStringList приспособить, если число представлять в текстовом виде.

Автор: antibiotik28 19.2.2016, 12:53
Привет парни ! 
Помогите с описанием запроса ! 
Есть SQL База в ней Табличка *Город*
Столбы *ID* integer автоинкрем,
             Город VarChar50,
             ОрганизацияVarChar50,
             Дата открытия DataTime
Есть клиент приложение DataSnap в нем запросс  
Код

'INSERT INTO [IT-Sklad].[dbo].[Город]  ([Город], [Организация], [Дата открытия]) VALUES ('+Edit1.Text+', '+Edit2.Text+', StrToDate('+Edit3.Text+'))'  ;

Вылетает ошибка конвертирования типа данных ! 
Помогите новичку !
Спасибо !

Автор: northener 19.2.2016, 12:59
Используй параметры, Люк.
http://www.delphiplus.org/programirovanie-baz-dannih-delphi7/parametricheskie-zaprosi.html

Автор: antibiotik28 19.2.2016, 13:14
А если я использую не Кверри на стороне клиента а КомандТекст в компоненте КлиентДатаСет ?
Запрос на удаление строки работает, а на добавление постоянно ругается на Строку Едит3.Текст
Я пытался использовать переменные но уже запутался !
Ошибка *Инкорект Синтаксис ниер .12* В Єдит3 прописывается формат 12.12.12

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)