Работа с MySQL използване denwer
В последната статия в базата данни MySQL използване в Denwer разгледахме какви компоненти могат да бъдат използвани за тази цел, както и преглед на работата на една проста връзка към дадена база данни, в допълнение към необходимите компоненти са направени в тази статия. В тази статия бих искал малко да продължите разговора и леко подобряване на нашия проект, добавяйки потоци в нея, за да може да се свърже с нашата база данни чрез потока, все едно, някои хостинг отговоря на връзката е много бавна и да не се подвеждат потребителите ни, когато да се използва за свързване с нашата база данни, ако въведете неправилна потребителско име и парола, програмата, естествено, без поток виси навреме връзка, само след като получи отговор от сървъра ще върне грешка, че паролата е неправилна. В допълнение към добавянето на потока в нашата програма, аз все още искате да напишете няколко заявки към нашата маса.
И така, какво имаме нужда в момента, имаме нужда от база данни, таблица в нашата база данни и на компонентите, както и набор от данни в нашата. Така че нека да зададете формата на следните компоненти
"Контакт» TMyQuery компонент в Connection имот - изберете MyConnection1 компонент (мой). На следващо място, да направи връзката с нашата база данни чрез потока. Данните за връзката имам следното
Освен това, ако сте в момента тестване на Denwer'e. не забравяйте да стартирате сървъра. Бях обявен следващата нишка
След това попълнете нашата процедура Execute и Свързване
Сега нека създадем нашия Feed
Така че сега, както казах, ние направихме няколко запитвания към нашата база данни. Аз ще кажа едно нещо, че принципът на работа с тази база данни е същата като сме работили с достъп чрез запитвания. Можете също да зададете на TDBGrid форма за показване на данни от нашата база данни. Аз създадох една маса с името и test_table със следните полета
Заявка за добавяне на данните ще изглеждат по следния начин
Искане за извличане на данни за състоянието е както следва
Както можете да видите исканията са едни и същи навсякъде, да се работи с MySQL използване Denwer ще се концентрирам повече - работа с Blob -fields и това ще приключи, тъй като всички почти идентични.
Между другото, за тези, които имат кола искам да кажа, че ако събирането на разпадането на вашата машина се регулира, това е по-стабилна, така че периодично се коригира разпадането на конвергенция.
Изходният код може да бъде изтеглен от тук
Подобни записи
има известно объркване, когато четете заглавията на статиите.
"Работата с MySQL използване denwer» (а).
Да се определи, в действителност (съдържанието на статията) описва работата с MySQL от Delphi използване MyDAC компонент (добър, макар и платен (:) така Денвър тук изобщо да правя с него Денвър е един куп Apache + PHP + на базата данни на локалната машина ... т.е. в действителност е инструмент за уеб програмиране (за естетична и обикновено все още написани на * Никс системи. за PHP под vindovz във фурната.)
Т.е., ако говорим за MySQL + Делфи и статията нека наречем, както добре.
Е, на втория въпрос тук. Защо пишете код като
Ако това е вярно, знамето: = вярно
в противен случай (т.е. фалшива) флаг: = неверни;
Бъдете по-лесно flagConnected: = myConnection1.connected;
и това не се отнася само за булеви стойности.
такъв код, ако = 1 тогава флаг: = вярно друг флаг: = фалшива
може да бъде заменен от флаг: = (а = 1);
и да работи в отделна нишка, за да се свърже с базата данни (ако е единствената цел на потока), не е задължително да се опише един клас от този поток, ще създаде екземпляр от него и така просто стартирайте функцията за извършване на този поток. Това е, разбира се, няма да се промени, но ще изглежда по-компактен.
пиша
опитвам
ThreadConnect: = TMyThreadConnect.Create (невярно);
ThreadConnect.Resume;
с изключение на
на д: Изключение направи
приключи;
Също така не е в правилен. На първо място, ако я пускате веднага след създаването на поток да изпълняват, тогава защо го създадете спи?
и второ, някои процес изключение има за цел да се опита да го блокира. елиминиране на потока? Дак те са никога да не се хване. Този блок от код в продължение на дълъг период от време, с уреда опитайте с изключение поток все още ще се свърже с базата данни. т.е., че е необходимо да се изключи поток в потока и процес. Освен ако, разбира се, искате да хвана eksepshen връзка с базата данни. Все пак, ако искате да се справят създаване изключения Създаване поток (което може да се случи по принцип), че няма оплаквания.
само за SQL заявки.
защо пиша sql.clear тогава sql.add ( "....")
трябва само да включите вашия sql.text: = "..."
старото съдържание ще бъдат презаписани, нов изисканост. без излишни неразбираеми действия.