| Библиотека программирование, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
CheckBox на Grid'e (как String-,так и DBGrid'e) Plasound & image.show If THEN ELSE, максимальное количество вложений UnPassword для HTML WebCam, Как работать с WebCamer'ой? Unsafe type\code?, Компилятор умничает? Приявязка обработки событий в рантайме длина текста в ComboBox, ... больше длины самого Box-a Размер GIF'ов Базы даных, Как записать в базу символы " и ` и ' создание TField run time, Как это делается??? Можно лт писать индексы вTreeView?, Вывод верхних и нижних индексов Отправка HTTP-запроса, Использование Winsock Как получить список установленых программ Проблемы управления MDI формами, Проблемы управления MDI формами Как Вы относитесь к курящим девушкам? Вот, блин, буффер обмена! Переполнение разрядной сетки, консольное приложение Глюки BDE ? Как с этим бороться., Пропадают данные. Подскажите по ZipTV доступа нет! StringList, неужели такой тормоз? Генерация DCX Как правильно использовать TOpenDialog символы, задачка Как проверить что в строке нет русских букв? Как можно узнать что написано в окне? Как добраться к RGB составляющим..., Вопрос по TBitmap... FTP SERVER D7 Indy, OnListDirectory Добавить все файлы из папки в TOpenDialog CBT Hook через звуковую вывести сигнал, определенной частоты и длительности Движение по окружности Функция для воспроизведения нот, Существует ли такая функция Передача параметров с одной формы, на другую символы Копирование в Canvas Трабл с ComboBox Показать файл jpeg без TImage Сдеалть функцию одной формы доступной для другой Узнать список файлов в папке, и сохранить в TStrings TClientSocket, соединение через прокси Агенты (помощники), управление Нет прорисовки нормальной, как сделать? TTable и TQuery Функции TAPI Библиотека dsgnlntf.dcu, Где найти? Дерево классов, Где его найти? Button1 := Button2; Как узнать номер активной строки в TQuery? Модуль данных, Что это? Вопрос по использованию TQuery, (SQL запросы к БД) Имена компонентов в массиве, и использование их в цикле... s/n Delphi 6.0 PE Удалить папку, с файлами Помогите придумать проект Cell type in Excel Есть, Нашел ешение - можно ли оптимизировать? Текст на форме Управление модемом в Delphi, Дозвон, ответ на звонок, отсылка/приём Как Вы относитесь к курящим девушкам? SB_THUMBTRACK и GetScrollInfo, Ограничение 16 бит, как его обойти. Сделать квадратик как в Windows?.. ShellExecute, Узнать Handle Как работать с XML?.., сохранять/читать данные в XML-документ.. Помощь в Delphi Открыть папку, CreateProcess Изменение цвета Item'а в ListBox'е по условию, !!!В FAQ не отсылать там не то!!! Как проанализировать HTML файл на ссылки, и выдрать их оттуда dateTimePicker, разница двух дат |
Платные хостинги Раскрутка сайта Книги по программированию Вопрос по использованию TQuery, (SQL запросы к БД)
- Знатоки программирования, подскажите:Необходимо с помощью компонента Queryвставлять новые записи в базу данных.Значиния новых записей зараниее не известны, поэтомудолжны передаваться через свойство ParamsКак должен выглядеть SQL-код для вставки новой записис использованием параметров ? - insert into table_name (field_name1, field_name2, ..., field_nameN)values (:param_name1, :param_name2, ..., param_nameN)как вариант - использование TUpdateSql. Ты будешь присваивать значения полей в само TQuery, а реально они будут вставляться/изеняться/удаляться через отдельные запросы, причём весь механизм работы с физическими данными TUpdateSQL возьмёт на себя, ты просто пишешь:Query1.Insert;Query1.FieldByName ('field_name').Value := Val;Query1.Post;а она подцепит новые значения и передаст их как параметры в собственные процедуры TUpdateSQL - Все правильно. Маленькие добавления:св-ваwith Query1 do ....Insert - Вставляет новую пустую запись в набор данныхInsertRecord - Вставляет новую заполненную запись в набор данныхAppend - Добавляет новую пустую запись в конец набора данныхAppendRecord - Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данныхИспользуя св-ва InsertRecord и AppendRecord можно безболезнено заполнить таблицу, если данные вводятся пользователем сначало, например, в Edit1.Text, т.е. заранее неизвестны. - тк свойства, или, всё-таки, методы? - При отсутсвии необходимости в академической точности я объединяю эти два понятия в одно нарицательное - свойства. Если кому-то нужно пояснить, то я говорил о методах (хотя кому это может быть не очевидным? ) - Спасибо за ответы !Тут обнаружил одно недоразумениеВ таблице(Paradox) поле Id имеет тип N (целочисленный) Query1.Param('param1').asInteger:= 100После Query1.ExecSQL - ВЫДАЕТ ОШИБКУ - "Type mismatch in expression" Локализовал ошибку - не хочет работать если значение параметраимеет тип Integer. Изменяю его на Float - работает. - недоразумения нет. в Paradox'е N - это вещественный тип, -10^307 - 10^308 с 15 значащами знаками. целыми типами там являются short и long integer.кстати, я бы не советовал использовать вещественный тип в качестве ключевого поля. - А почему не рекомендуется использовать вещесьвенный тип в качестве ключевого ? - технических ограничений нет. но есть парочка но.во-первых. long integer, соответствующий дельфийскому longint, занимает 4 байта и повзоляет адресовать 2 миллиарда записей. а если использовать отрицательные ключи, то все четыре. даже если на одну запись у тебя приходится 1 байт, что, я думаю, далеко не так, размер базы будет 2 террабайта. или четыре (с отрицательными ключами). мало? теперь по типу number. соответствует дельфийскому double. размер в памяти - 10 байт. как называется максимальное число по данному типу я сказать затрудняюсь. до хера, в общем. спрашивается, зачем это счастье? шесть байт на записи, конечно, не бог весть какая экономия, но и лишнее плодить смысла нет.далее. я сильно подозреваю, что на большой таблице, индексированной по вещественному числу, скорость работы будет просто жопная. а когда этот индекс первичный - ...третий момент, это точность. в любой базе вещественные числа храняться с заданной точностью. потом эту точность можно переопределить на уровне объекта поля. т.е. точность отображения в базе и проге может отличаться. меня лично пугают такие первичные ключи, которые в базе и на экране выглядят как разные числа. ты можешь просто не "попасть" на свой ключ, например, сглючит locate. ты пишешь в поле, к примеру, 10.123456, а туда реально ложиться 10.12346 (округление в большую сторону при отсечении). нафига такое счастье?в-четвёртых, элементарное удобство работы. не знаю кому как, но я предпочитаю работать с целыми числами Это сообщение отредактировал x77 - 2.10.2003, 13:19 |