![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сделал Create Table, не погу подключить програмно. Help! [D6, dBase, FoxPro, Paradox]
Filat © (2002-07-04 09:16:00)Всем привет! Собственно сабж.
VICTOR_ (2002-07-05 12:20:00) [1]>Filat © (04.07.02 14:15)
У тебя в вопросе написан ответ :)
Напиши
Add("Salary", ftFloat, 0, True);
Последний параметр означает Required поле
True - значение обязательно для ввода
см. Help
1.TDataSet.FieldDefs
Example
2.Required
Desdechado (2002-07-04 17:08:00) [2]> Help молчит по этому поводу
тогда обычно смотрят исходники компонентов
а создание таблицы лучше (имхо) делать через TQuery.
CREATE TABLE ...
Filat (2002-07-04 16:46:00) [3]Неужели никто не знает?
Filat (2002-07-04 14:15:00) [4]Спасибо, работает.
По ходу появился ещё вопрос.
Как создать поле типа NOT NULL исходя из кода приведённого выше.
В IB я знаю, а как в этом случае поступить.
И ещё, что означает значение False в строке Add("Salary", ftFloat, 0, False);
Help молчит по этому поводу.
Спасибо.
kaif (2002-07-04 11:57:00) [5]Путь к exe-файлу можно определить так:
Функция ParamStr(0) возвращает полное имя работающего exe-файла.
Поэтому путь:
ExtractFileDir(ParamStr(0));
Filat (2002-07-04 11:51:00) [6]Только что проверил, получилось.
Осталась проблема с автоматическим определением пути ехе программы. Я где-то уже видел в форуме.
Подскажите ещё раз пожалуйста.
Спасибо!
Filat (2002-07-04 11:43:00) [7]>> почему DatabaseName пустой?
А разве его обязательно заполнять?
Как определить где лежит мой *.exe, чтобы потом относительно этого пути уже искать базы, пробовал через Application.EXEName, но что то не получается.
Почему надо определять путь? Юзер же может поставить прогу куда угодно.
Desdechado (2002-07-04 11:06:00) [8]2 VICTOR_
точно, прозевал Free :)
Desdechado (2002-07-04 11:03:00) [9]после создания таблицы она появляется?
почему DatabaseName пустой?
VICTOR_ (2002-07-04 11:02:00) [10]//Замени
//Free;
//на
Close;
Таблица лежит в каталоге, где находится *.exe
Для более точного пути указывай
Table1.TableName:="с:\Твой каталог\Proba";
Filat (2002-07-04 10:39:00) [11]Таблицу создаю так:
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;
Кстати, как правильно указать или определить где лежит таблица?
Спасибо
Desdechado (2002-07-04 10:15:00) [12]и где сложность?
Pro (2002-07-04 10:14:00) [13]Думаю ты с активным query после создания им таблицы пытаешся Table подцепить
не думаю что так можно
Filat (2002-07-04 10:00:00) [14]Поскольку не уехал в командировку, то подробнее запросто. :))))
Взял из FAQ пример создания программно таблицы. Сделал, работает.
Попробовал её подключить в TTable и сделать активной, вывести в DBGrid - Access violation ....
Как это делается правильно програмно.
В конечном итоге мне надо следующее. Новый день: закрывается вчерашний, базы архивируются и перекладываются в архив. Открытие дня - создание таблиц, их подключение и активация. Обычная работа с базами.
Спасибо!
Pro (2002-07-04 09:23:00) [15]Собственно поподробнее бы ...