Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Базы данных!!! 
:(
    Опции темы
Frikazoid
Дата 24.5.2002, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Привет All!
Есть тут проблема!
Мне очень нужно с базами данных поработать, а я не умею!
Нужно:
1)Создание базы из приложения.
2)Создание заголовков толбцов.
3)передвижение по базе, как по столбцам, так и по ячейкам(это очень важно)!
4)сортировка.

Если кто сделает хоть какой пример, то киньте мне ПЛЗ на мыло [email protected]

Базы мне очень нужны!

За всё спасибо!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 24.5.2002, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



1) Создание базы очень зависимо от того какую базу ты используешь. Если Парадокс - то это просто создание папки, если MS Access - то я это в нашем FAQ описал, если MS SQL Server то через ADO коннектишься к базе данных "master", затем создаешь базу при помощи квери:
SQL
Create Database MyNewDatabaseName


2) В стандартной квере по созданию таблицы:
SQL
Create Table MyNewTable (
 FirstField Varchar(20),
 SecondField Int)


Если менять уже существующую таблицу (добавлять/удалять столбцы) - используй SQL оператор "Alter Table" - его реализация очень сильно зависит от используемой базы данных

3) По строкам двигаемся:
 Query1.first;// переход на первую строку
 Query1.next;// переход на следующую строку
 Query1.prior;// переход на предыдущую строку
 Query1.last;//переход на последнюю строку

Все операции проходят на текущей строке, которую можно назвать курсором.
Обращение к ячейке на текущей строке:
 по номеру
  Query1.fields[1].asstring
  Query1.fields[1].asinteger
  Query1.fields[1].asfloat
по названию поля (колонки):
  Query1.fieldbyname('MyStringField').asstring
  Query1.fieldbyname('MyIntegerField').asinteger  
  Query1.fieldbyname('MyBooleanField').asboolean
  Query1.fieldbyname('MyRealField').asfloat

4) Когда пишешь кверю ты можешь указать сортировку:
SQL
SELECT * From MyTable ORDER BY MyFieldForSorting





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
X-Vlad
Дата 30.5.2002, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



Пример для баз данных ПАРАДОКС.
Создание столбца:
procedure TForm3.Button1Click(Sender: TObject);
begin
form1.table1.Active:=false;
form1.table1.FieldDefs.Add('NAME',ftstring,10,false);
form1.table1.IndexDefs.Add('','NAME',[ixPrimary]);
form1.table1.CreateTable;
form1.table1.Active:=true;
end;

для передвежения по базе есть стандартный компонент...помоему называется DBNAVIGATE.

что-бы создать программно таблицу надо:
with Ttable.Create(self)do begin
 Databasename:='тут можешь написать путь где будет хранится база (напр: c:\;)';
 begin
 TableName:='имя базы';
 Tabletype:=ttparadox;
 with fielddefs do begin
 add('Default',ftinteger,0,true);
 end;
 indexdefs.Add('','Default',[ixprimary]);
 createtable;
 end;

Я щас пишу прогу которая работает с базамы "Парадокс".
она умеет создавать таблици, удалять\добавлять столбци и т.д. ...:))

если шо заходи...:)
ася:117952302
мыло:тут


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Vit
Дата 30.5.2002, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Я бы не советовал через FieldDefs работать, очень уж он коряво реализован в Дельфях, используйте для этого квери: "create table ..." для создания таблицы, "Alter Table..." для удаления, добавления полей, ключей, индексов...

Преимущества:
1) Работает со всеми версиями парадокса и большая вероятность что будет работать и с подавляющим большинством других баз данных - от Excel до MS SQL

2) Более корректно решаются вопросы совместимости и сохранности данных, особенно при многопользовательском доступе

3) Более правильно обрабатываются механизмы изменения TSession. При низкоуровневых операциях надо делать рестарт сессии, иначе могут наступить кранты, особенно при не монопольном доступе.

4) Квери протекают по механизму транзакций, поэтому сбой в работе, например зависание или перезагрузка PC во время изменения большой таблице будут гораздо реже приводить к потере данных и порче всей таблицы.

И вообще, при работах с базами данных надо все операции насколько это возможно делать высокоуровневыми - т.е. через квери, а к низкоуровневым прибегать только в случае отсутствия других путей.

Я тоже страдал созданием мененджеров таблиц, и могу послать то что у меня получилось (без исходников, так как они принадлежат корпорации). Программа делает примерно следующее:
- открытие, просмотр и редактирование таблиц в Paradox, FoxPro, DBase, Access, Excel, MS SQL Server (включая просмотр и редактирование мемо -полей и Blob-полей с картинками)
- создание репорта по структуре
- исправление порченной базы данных
- копирование таблиц с содержимым или без из одной базы в другую
- изменение автоинкремента парадоксовских таблиц
- Alias manager (на подобии BDE Admin)
- Сравнение структур таблиц в 2х alias
- Запуск кверей
Если заинтересовало - пошлю по email


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 30.5.2002, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Конечно хотим [email protected]


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 30.5.2002, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Послал уже


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
X-Vlad
Дата 31.5.2002, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



мне тоже кинь... [email protected]


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0729 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.