Как получить значения базы данных в и из кода.в Дельфи 7 - PullRequest
1 голос
/ 03 февраля 2011

ПРЕДПОСЫЛКИ

Я делаю простую программу для регистрации данных и выполнения нескольких расчетов с базой данных .MDB.доступ через Jet 4.

AIM

Я хочу иметь возможность получить значение из / в любое поле из SQL-запроса по первичному ключу (один результат)

CURRENT

В настоящее время я подключился к базе данных и могу просматривать редактирование данных с помощью «элементов управления данными»

, как показано ниже:

enter image description here

ВОПРОС

Как получить доступ к данным в базе данных, чтобы я мог поместить значения в подходящую переменную итогда напиши их обратно?

Ответы [ 3 ]

7 голосов
/ 03 февраля 2011

Ответ Йорна Ангельтвейта звучит как прямой способ сделать хотя бы часть того, что вы хотите.Он дает вам доступ к значению в поле.Но поймите, что простое изменение значения этого поля не приведет к обновлению записи в базе данных;Для этого вам также необходимо вызвать метод Post набора данных.Ваш вопрос очень простой, и если вы создаете приложение с базой данных базы данных, вам, вероятно, будет полезно ознакомиться с тем, как писать приложения для баз данных с помощью Delphi.Если вы попытаетесь продвинуться вперед, не изучив основы компонентов Delphi TDataset, то, скорее всего, вы получите грязный подход и дополнительную работу.

РЕДАКТИРОВАТЬ: Вот ссылка на сайт CodeGear с некоторыми полезными документами по TDatasets.Вероятно, она очень похожа на документацию, которую вы найдете в справочной системе Delphi 7 (хотя поиск встроенной справки иногда может сбивать с толку): http://docs.codegear.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/fhxr30623_xml.html

Вот хороший онлайн-сериал, которыйна самом деле основное внимание уделяется доступу к .mdb с использованием компонентов базы данных ADO Delphi: Руководство для начинающих по базам данных с Delphi

Кроме того, у Марко Канту есть хорошие разделы об этом в его книге «Освоение Delphi».Вы можете подобрать использованную копию на Амазоне за небольшие деньги.Я использовал Mastering Delphi 6 при изучении Delphi 7, и это был отличный ресурс.Мастерство Delphi 7 доступно, но я бы сэкономил несколько долларов и использовал бы копию Мастерства Delphi 6: http://www.amazon.com/Mastering-Delphi-6-Marco-Cantu/dp/0782128742/ref=sr_1_6?ie=UTF8&qid=1296705281&sr=8-6

2 голосов
/ 03 февраля 2011

Является ли MyDataSet.FieldByName('TheFieldName').AsString := myString; (и наоборот) тем, что вы ищете?

0 голосов
/ 04 февраля 2011

Есть много способов сделать то, что вы просите.

Самый простой способ - использовать потомка TDataset.Наиболее распространенными в Delphi для доступа к Microsoft Jet, вероятно, будет dbGo (ADO Express, когда он был представлен в Delphi 5).Если вы уже подключили интерфейс, вы, вероятно, уже используете его.Те же самые таблицы и запросы, которые вы использовали для подключения к своему пользовательскому интерфейсу, могут быть доступны непосредственно в коде.TADOQuery и TADOTable поддерживают пошаговое выполнение набора данных (используя Next), поиск определенных записей (используя Locate или Seek) и доступ к полям (используя FieldbyNumber или FieldbyName)

Длямалые и средние приложения - это самый простой способ сохранить ваши данные.В качестве альтернативы вы можете получить доступ к тем же данным, используя элементы управления пользовательского интерфейса, которые вы уже подключили к источнику данных.Все стандартные элементы управления с поддержкой db Delphi имеют свойство Field, а многие имеют свойство Text.

Для более крупных приложений со сложными бизнес-правилами рекомендуется использовать доменный уровень с ORM (Object / Relational Mapper) в качестве постоянного уровня.

Конечно, небольшие проекты могут превратиться в большиепроекты со временем.Так что было бы полезно планировать соответственно.

...