Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2014, 20:03   #11
willii
Пользователь
 
Регистрация: 07.08.2014
Сообщений: 12
По умолчанию

видимо таблица не создалась. ААААААААААА что делать???

ООооо Дааа!
у меня получилось создать таблицу. Я там скобки просто неправильно поставил .
вот код:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
   with form1.Query1 do
   begin
     Close;
     SQL.Clear;
     SQL.Add('create table "N:\Экзаменационные тесты Delphi\Успеваемость студентов\Yspevaemost.db" (Field1 char(20), Field2 integer) ');
    execsql;
   end;
end;

Последний раз редактировалось Stilet; 07.10.2014 в 20:37.
willii вне форума Ответить с цитированием
Старый 07.10.2014, 20:40   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я тебе дам добрый совет: Если работаешь с файловыми базами данных не создавай запросами таблицы. Лучше хранить чистые шаблоны таблиц где-то отдельно, и при необходимости копировать их в рабочий каталог. Это все равно файлы, так и поступать с ними надо как с файлами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2014, 21:36   #13
willii
Пользователь
 
Регистрация: 07.08.2014
Сообщений: 12
По умолчанию

я обычно так и делаю, просто у меня задание такое.

Мне еще надо чтобы после запуска программы была возможность отредактировать таблицу. как это сделать?

Может как нибудь DBNavigator сюда пристроить?

Последний раз редактировалось Stilet; 07.10.2014 в 21:55.
willii вне форума Ответить с цитированием
Старый 07.10.2014, 21:56   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно. Только в этом случае не Query а Table надо использовать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2014, 22:15   #15
willii
Пользователь
 
Регистрация: 07.08.2014
Сообщений: 12
По умолчанию

А без Table никак не получится отредактировать таблицу?
willii вне форума Ответить с цитированием
Старый 07.10.2014, 22:18   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Получится. Запросами INSERT и UPDATE.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2014, 22:59   #17
willii
Пользователь
 
Регистрация: 07.08.2014
Сообщений: 12
По умолчанию

то есть кинуть на форму кнопку "Вставить" и по нажатию на нее создать запрос INSERT? я правильно понял?
willii вне форума Ответить с цитированием
Старый 07.10.2014, 23:12   #18
willii
Пользователь
 
Регистрация: 07.08.2014
Сообщений: 12
По умолчанию

SQL.Add('create table "N:\Экзаменационные тесты Delphi\Успеваемость студентов\Yspevaemost.db" (Field1 char(20), Field2 integer) ');

Как в место char(20) сделать строковый тип?
willii вне форума Ответить с цитированием
Старый 07.10.2014, 23:18   #19
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Погуглить не пробовал ? http://www.experts-exchange.com/Prog..._20658129.html
Не знаю как ваши Paradox или какой СУБД у вас . Но, MS SQL Server через ADO можно создать таблица и сразу начать пользователя его .
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Tran: integer;
begin
 Tran:= ADOConnection1.BeginTrans;
  try
  with ADOQuery1 do
             begin
               Close;
               SQL.Clear;
               SQL.ADD('CREATE TABLE '+'Emp');
               SQL.ADD('(Date_strart DateTime, ');
               SQL.Add('fio varchar(50), ');
               SQL.ADD('Phone varchar(40), ');
               SQL.ADD('Salary Money, )');
               ExecSQL;
             end;
    ADOConnection1.CommitTrans;
    ShowMessage('Таблица действительно создана');
    with ADOQuery1 do
    begin
      Close;
      SQL.Text := ' select * from Emp';
      Open;
    end;
   except
    on E:Exception do
    begin
    ADOConnection1.RollbackTrans;
     ShowMessage('Ошибка при создании таблицы');
    end;
  end;
end;
end.
Но может преподаватель требует Paradox , они же любить такой ненужную информацию преподавать .

Последний раз редактировалось xxbesoxx; 07.10.2014 в 23:27.
xxbesoxx вне форума Ответить с цитированием
Старый 07.10.2014, 23:30   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как в место char(20) сделать строковый тип?
По хорошему так:
Код:
   with form1.Query1 do
   begin
     Close;
     SQL.text:='insert into "N:\Экзаменационные тесты Delphi\Успеваемость студентов\Yspevaemost.db" (:param1) ');
     Parameters.ParamByName('param1').AsString:='Нужная строка';
    execsql;
   end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по дате с через SQL запрос betirsolt БД в Delphi 6 25.05.2013 20:42
Создать сложный sql запрос на выборку из БД access dr.Chas Фриланс 8 26.04.2013 18:13
sql запрос через Query Lokos БД в Delphi 21 03.03.2010 14:38
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Помогите создать SQL запрос Rain9 SQL, базы данных 5 25.11.2008 08:54