Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизСделал Create Table, не погу подключить програмно. Help! Найти похожие ветки
← →
Filat (2002-07-04 09:16) [0]Всем привет! Собственно сабж.
← →
Pro (2002-07-04 09:23) [1]Собственно поподробнее бы ...
← →
Filat (2002-07-04 10:00) [2]Поскольку не уехал в командировку, то подробнее запросто. :))))
Взял из FAQ пример создания программно таблицы. Сделал, работает.
Попробовал её подключить в TTable и сделать активной, вывести в DBGrid - Access violation ....
Как это делается правильно програмно.
В конечном итоге мне надо следующее. Новый день: закрывается вчерашний, базы архивируются и перекладываются в архив. Открытие дня - создание таблиц, их подключение и активация. Обычная работа с базами.
Спасибо!
← →
Pro (2002-07-04 10:14) [3]Думаю ты с активным query после создания им таблицы пытаешся Table подцепить
не думаю что так можно
← →
Desdechado (2002-07-04 10:15) [4]и где сложность?
← →
Filat (2002-07-04 10:39) [5]Таблицу создаю так:
begin
with Table1 do
begin
Active := False;
DatabaseName := "";
TableName := "Proba";
TableType := ttParadox;
with FieldDefs do
begin
Clear;
Add("EmpNo", ftInteger, 0, False);
Add("LastName", ftString, 20, False);
Add("FirstName", ftString, 15, False);
Add("PhoneExt", ftString, 4, False);
Add("HireDate", ftDateTime, 0, False);
Add("Salary", ftFloat, 0, False);
end;
CreateTable;
Free;
end;
end;
Потом для простоты проверки по нажатию кнопки
делаю подключение
Table1.TableName:="Proba";
Table1.TableType:=ttParadox;
Table1.Active:=True;
Кстати, как правильно указать или определить где лежит таблица?
Спасибо
← →
VICTOR_ (2002-07-04 11:02) [6]//Замени
//Free;
//на
Close;
Таблица лежит в каталоге, где находится *.exe
Для более точного пути указывай
Table1.TableName:="с:\Твой каталог\Proba";
← →
Desdechado (2002-07-04 11:03) [7]после создания таблицы она появляется?
почему DatabaseName пустой?
← →
Desdechado (2002-07-04 11:06) [8]2 VICTOR_
точно, прозевал Free :)
← →
Filat (2002-07-04 11:43) [9]>> почему DatabaseName пустой?
А разве его обязательно заполнять?
Как определить где лежит мой *.exe, чтобы потом относительно этого пути уже искать базы, пробовал через Application.EXEName, но что то не получается.
Почему надо определять путь? Юзер же может поставить прогу куда угодно.
← →
Filat (2002-07-04 11:51) [10]Только что проверил, получилось.
Осталась проблема с автоматическим определением пути ехе программы. Я где-то уже видел в форуме.
Подскажите ещё раз пожалуйста.
Спасибо!
← →
kaif (2002-07-04 11:57) [11]Путь к exe-файлу можно определить так:
Функция ParamStr(0) возвращает полное имя работающего exe-файла.
Поэтому путь:
ExtractFileDir(ParamStr(0));
← →
Filat (2002-07-04 14:15) [12]Спасибо, работает.
По ходу появился ещё вопрос.
Как создать поле типа NOT NULL исходя из кода приведённого выше.
В IB я знаю, а как в этом случае поступить.
И ещё, что означает значение False в строке Add("Salary", ftFloat, 0, False);
Help молчит по этому поводу.
Спасибо.
← →
Filat (2002-07-04 16:46) [13]Неужели никто не знает?
← →
Desdechado (2002-07-04 17:08) [14]> Help молчит по этому поводу
тогда обычно смотрят исходники компонентов
а создание таблицы лучше (имхо) делать через TQuery.
CREATE TABLE ...
← →
VICTOR_ (2002-07-05 12:20) [15]>Filat © (04.07.02 14:15)
У тебя в вопросе написан ответ :)
Напиши
Add("Salary", ftFloat, 0, True);
Последний параметр означает Required поле
True - значение обязательно для ввода
см. Help
1.TDataSet.FieldDefs
Example
2.Required
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c