ПредишенСледващото

Свързване с базата данни

Когато се работи с първа основа на данните, които трябва да бъдат в състояние да направите, ако програмата е да се свърже с базата данни. Чрез връзката с базата данни на програмата ще изпраща и получава резултатите от неговото прилагане.

Да предположим, че:
  1. Вече избран сървър на база данни, и ние знаем името му.
  2. Въведете избрания сървър поддържа компоненти за достъп, които използвате (в този пример Erda).
  3. Базата данни вече е установена връзка с него се оказа стандартни инструменти за сървъри и всичко работи.
  4. В Delphi форма (или DataModule) е създаден, в който ние ще създадем връзката.

За да се опише типа на сървър и свързване параметри обикновено ispolzuetsyaobekt в заглавието или съдържащ база данни връзка. (В този Erda TerDataBase в този ADO TADOConnection в този BDE TDataBase). Обикновено се препоръчва за всички приложение създава един такъв обект и всички последващи работа минава през него. В случай на BDE и АДО може без това съоръжение, но след това е трудно да се организира хубав диалог, за да влезете в системата, че е трудно да се направи един бутон разстояние от базата данни. и е почти невъзможно да се контролира броя на активните връзки (сесии) - че в момента са инсталирани софтуер на сървъра.

След създаването на компонента, е желателно да му възложи да се чете името. Obzovem своята DB.

Обикновено, когато стартирате програмата трябва да поиска от потребителско име и парола, за да се свърже с базата данни. Също така, когато е желателно да се позволи на потребителя да изберете базата данни, с която той ще работи. Тази функция обикновено се продава в събитията onLogin. BeforeConnect, или други в зависимост от компонентите, което показва форма за въвеждане на парола, след това данните се предават в свойствата на компонента.

Поради факта, че BDE и АДО автоматично прави връзка с базата данни, когато е необходимо да се изисква допълнително конфигуриране.

В Erda тя има възможност да контролира броя на активните сесии, а след това, през това, което се иска да е връзка. За тази цел, обект TerTransaction там са описани методи за работа с транзакцията. Поради факта, че MSSQL не позволява да се задържи няколко отворени, а не "извади" на исканията на сесия, в TerTransaction механизъм, който, когато откриването на следващото искане или спира или изпуска цялата предходна искане на клиента (тип поведение може да бъде избран с помощта на свойства FreeAction TerTransaction компонент).

Обикновено просто достатъчно, за да сложи TerTransaction да формират заедно с TerDataBase база данни и да се регистрирате собственост. Ако не искате да постигнете това, което някой друг ефект. Съгласен съм с тези искания в 2 части 1-ви искания за малки директории и 2-ри заявки, които могат да се върнат на голям брой записи. За 1-ви част от създаването на транзакциите за втора с имота FreeAction = erStopFetch. Резултатът - ако потребителят отваря 2 "дълги" молба, след това извади само първата спирка на мястото, където е било по време на откриването на второто искане.

Факт е, че ако сървърът не е извадил да напусне данни - също както и BDE, а след това всеки "не измъкнат" искане създава своя собствена връзка. В случай, че потребителят е забравил да приключи проверката, той е и си остава висящ и заемат сървърни ресурси, които все още не са неограничени. В ADO, по подразбиране, всички резултати от заявките се веднага извади на клиента, но понякога това води до дълго чакаме края на процеса на кеширане.

По този начин, всеки активен заявка се налага автоматично редица ключалки. Въпреки че малък брой потребители, това не е от значение, но с увеличаване на броя на потребителите, това трябва да бъдат взети предвид. За съжаление, обикновено, когато става дума за въпроса (след написването програма), за да се реши този проблем, дори не е лесно. Тя е много по-лесно, когато задачата на програмата с голям брой клиенти е създадена първоначално, както и мерки бяха взети веднага, за да се намали броят на ключалки.

Програмата за демонстрация използва сървъра на базата данни име на сървъра MSSQL Test, бази данни TESTDB данни.

За да се свържете с него е необходимо да се предвидят следните свойства TerDataBase:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!