информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetГде водятся OGRыСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ты вопрос нормально задай - глядишь и помогут 13.06.01 12:42  Число просмотров: 819
Автор: prop Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
[Pasca] Как в дельфях создавать новую таблицу с помощью кода? 12.06.01 20:50  
Автор: Grag Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как в дельфях создавать новую таблицу с помощью кода?
[Pasca] Как в дельфях создавать новую таблицу с помощью кода? 16.07.01 18:11  
Автор: Cyril Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Как в дельфях создавать новую таблицу с помощью кода?


Все вопросы к Borland, пример из Delphi хелпа

The following example shows how to create a table.

{ Don't overwrite an existing table }

if not Table1.Exists then begin
with Table1 do begin
{ The Table component must not be active }
Active := False;
{ First, describe the type of table and give }
{ it a name }
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';
{ Next, describe the fields in the table }
with FieldDefs do begin
Clear;
with AddFieldDef do begin

Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Next, describe any indexes }
with IndexDefs do begin
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
with AddIndexDef do begin

Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
{ Call the CreateTable method to create the table }
CreateTable;
end;
end;
[Pasca] Как в дельфях создавать новую таблицу с помощью кода? 13.06.01 14:06  
Автор: Sandy <Alexander Stepanov> Статус: Elderman
<"чистая" ссылка>
> Как в дельфях создавать новую таблицу с помощью кода?
Средствами БДЕ, ща нет БДЕ-шного хелпа под рукой, но примерно так:
создаешь список, который описывает структуру таблицы (название поля, тип, длина), потом вызываешь БДЕ-шную функцию что-то типа dbeCreateTable.
Народ ну будьте, людьми прозарез нужно. Есть тут кто в базах шарит хоть чуть чуть? 12.06.01 23:50  
Автор: Grag Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Как в дельфях создавать новую таблицу с помощью кода?
Ты вопрос нормально задай - глядишь и помогут 13.06.01 12:42  
Автор: prop Статус: Незарегистрированный пользователь
<"чистая" ссылка>
в базах немножко, а дельфях ни фига 13.06.01 05:40  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
может это тебе поможет. я когда то немного писал для баз. не думаю что есть большая разница в технике между С++ и дельфи. если С++ понимаешь, то ты сам уже дальше разберешься. правда слышал про чуть ли не фантастические возможности дельфи с базамиI. кроме того думаю в дельфях уже есть готовые классы для баз.
короче, что бы ты не делал с базами, все идет через ODBC, кроме случая если используешь прямой драйвер провайдера. кроме того можно спокойно использовать SQL. если знаешь SQL, то проблем вообще не будет. Вот кусок кода, только без проверок на ошибки и написано на API :

// тут создаю таблицу Spiridon с 2-мя полями - SomeDate, SomeNumber

SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;

SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLConnect(hdbc, (SQLCHAR*) "Server", SQL_NTS, (SQLCHAR*) "UserName", SQL_NTS, (SQLCHAR*) "UserPassword", SQL_NTS);
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);

SQLExecDirect(hstmt, (SQL_CHAR*)"CREATE TABLE Spiridon (SomeDate datetime, SomeColumn int)", SQL_NTS);

SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);

Ну а для подробной информации обратись лучше к настоящим спецам :-)))

Удачи.
Хоть на том спасибо. 13.06.01 22:44  
Автор: Grag Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Хех я тоже по дельфям не совсем ориентируюсь. И в основном по сетям специализируюсь. Работу по базам взял чтоб недельку отдохнуть от работы.
Сказали замутить эдакую супер базу. Вот я и интересуюсь. Всё ж хотелось узнать насчёт дельфи, там проще с родным кодом.

Просите объяснить по нормальному пожалуйте:
Мне надо замутить список товаров на клиентов. Каждому надо по списку. Там допустим такие поля:
Наименование Кол-во Цена итп.
Потом всё вывести и запонить, но это не проблема. Я уж всё написал только эта лабуда осталась.
Теперь яснее?


Для следующих поколений. (Последний штрих в обсуждении данного вопроса) 22.06.01 16:42  
Автор: Grag Статус: Незарегистрированный пользователь
<"чистая" ссылка>
ALTER TABLE TEACHERS ADD FIRSTNAME CHAR (50)
====================================
Базовые таблицы описываются в SQL с помощью предложения CREATE TABLE (создать таблицу), синтаксис которого имеет небольшие различия в различных СУБД. Однако все они поддерживают следующую минимальную форму:

CREATE TABLE базовая_таблица (столбец тип_данных [NOT NULL]
[,столбец тип_данных [NOT NULL]] ...);
где тип_данных должен принадлежать к одному из типов данных, поддерживаемых СУБД (например, одному из типов данных, перечисленных в п.1.2).
Так, описание таблицы Блюда может быть записано в виде

CREATE TABLE Блюда
( БЛ SMALLINT NOT NULL,
Блюда CHAR (70) NOT NULL,
В CHAR (1),
Основа CHAR (10),
Выход FLOAT,
Труд SMALLINT );

В результате создается пустая базовая таблица Блюда, а в системный каталог помещается строка, описывающая эту таблицу. Отметим, что в профессиональных СУБД имя таблицы дополняется именем пользователя, который издал предложение CREATE TABLE. Если этот пользователь зарегистрирован в системе под именем Kirillov, то в каталоге будет зарегистрирована таблица Kirillov.Блюда и указанный пользователь может обращаться к ней по имени Kirillov.Блюда или по сокращенному имени Блюда, которое использовалось во всех предшествующих примерах и будет использоваться далее.

Конструкция NOT NULL запрещает использование неопределенного значения, т.е. специального значения, которое вводится для представления "неизвестного значения" или "неприменимого значения". Например, строка поставки таблицы Поставки может содержать неопределенное значение в столбце Цена и (или) К_во (извесно, что поставщик поставляет указанный продукт, но на данный момент неизвестна цена этого продукта и (или) объем поставки).

Существующую базовую таблицу можно в любой момент уничтожить с помощью предложения DROP TABLE (уничтожить таблицу):

DROP TABLE базовая_таблица;

по которому удаляется описание таблицы, ее данные, связанные с ней представления и индексы, построенные для столбцов таблицы (см. п. 5.3).

В SQL существует также предложение ALTER TABLE (изменить таблицу), которое позволяет добавить справа к таблице новый столбец, т.е. модифицировать описание табицы. Так как без него "можно жить", а объем книги ограничен, то мы не будем здесь описывать это предложение.

Вопрос о создании таблиц на Дельфях так и не был решён, вот я и решил поделится.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach