F
Fexys
Есть несколько таблиц:
Основная, где помимо простых полей хранятся ID других таблиц
Побочные, где ключ и 1-2 поля (являются, что-то типа обычного списка)
Рис: Tabl - основная табл. Info - другие таблицы. Edit-Update - окно доб\редакт.
1)Как сделать процедуру в SQL для добавления записи (вроде просто, но чет не могу сообразить).
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Процедура добавления записи для данных в 1ой таблице</div></div><div class="sp-body"><div class="sp-content">
Create procedure New_Film (@NazvRus nvarchar(50), @NazvAngl nvarchar(50), @Strana nvarchar(50), @janr nvarchar(50), @Rej nvarchar(50), @god nvarchar(20))
as
Begin
insert into Films values ((select isnull (max(id)+1,1) from Films), @NazvRus, @NazvAngl, @Strana, @janr, @Rej, @god)
end
Но как сделать такое же, если данные находятся в разных таблицах?
2) Подскажите что можно использовать вместо DBLookupCombobox(используется для добавления\редакт полей табл)? Т.е. нужно чтобы при вводе текста выдавал продолжение имеющееся в списке, если нет, то позволял добавить в опр. таблицу.
3)Можно ли в DBGrid при наведении на строку всплывало сообщение (что-то типа подсказки) с большим текстом (в данном случае с описанием фильма). Честно не смотрел еще и не знаю как. И еще не знаю как это реализовать в БД:
- Либо создавать к каждому полю текстовый файл и при запросе (и при наведении в Grid на строку) выводил текст из него.
- Либо в бд создать отдельную таблицу с nchar (max) привязанную к основной
Не откажусь от других вариантов и способов решения.
4) Как реализовать поиск с такой структурой бд(на рисунке). Пробовал делать поиск по "представлению" через Like в DBEdit не вышло. Вроде выдавал ошибку на то что не существует View_8 файлов.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">как-то так</div></div><div class="sp-body"><div class="sp-content">
procedure TForm23.DBEdit1Change (sender: TObject);
Var
asd : string;
begin
asd := QuotedStr('%'+search.Form23.DBEdit1.Text+'%');
with DM.QAll do
close;
SQL.Clear;
SQL.Add('Select * from View_8 where NazvRus like '+asd);
open;
end;
end;
5) Не обязательно, но вдруг если знаете. Окно в котором будут вводить текст и отправлять письмом на почту. такое реально и как?
Основная, где помимо простых полей хранятся ID других таблиц
Побочные, где ключ и 1-2 поля (являются, что-то типа обычного списка)
Рис: Tabl - основная табл. Info - другие таблицы. Edit-Update - окно доб\редакт.
1)Как сделать процедуру в SQL для добавления записи (вроде просто, но чет не могу сообразить).
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Процедура добавления записи для данных в 1ой таблице</div></div><div class="sp-body"><div class="sp-content">
Create procedure New_Film (@NazvRus nvarchar(50), @NazvAngl nvarchar(50), @Strana nvarchar(50), @janr nvarchar(50), @Rej nvarchar(50), @god nvarchar(20))
as
Begin
insert into Films values ((select isnull (max(id)+1,1) from Films), @NazvRus, @NazvAngl, @Strana, @janr, @Rej, @god)
end
Но как сделать такое же, если данные находятся в разных таблицах?
2) Подскажите что можно использовать вместо DBLookupCombobox(используется для добавления\редакт полей табл)? Т.е. нужно чтобы при вводе текста выдавал продолжение имеющееся в списке, если нет, то позволял добавить в опр. таблицу.
3)Можно ли в DBGrid при наведении на строку всплывало сообщение (что-то типа подсказки) с большим текстом (в данном случае с описанием фильма). Честно не смотрел еще и не знаю как. И еще не знаю как это реализовать в БД:
- Либо создавать к каждому полю текстовый файл и при запросе (и при наведении в Grid на строку) выводил текст из него.
- Либо в бд создать отдельную таблицу с nchar (max) привязанную к основной
Не откажусь от других вариантов и способов решения.
4) Как реализовать поиск с такой структурой бд(на рисунке). Пробовал делать поиск по "представлению" через Like в DBEdit не вышло. Вроде выдавал ошибку на то что не существует View_8 файлов.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">как-то так</div></div><div class="sp-body"><div class="sp-content">
procedure TForm23.DBEdit1Change (sender: TObject);
Var
asd : string;
begin
asd := QuotedStr('%'+search.Form23.DBEdit1.Text+'%');
with DM.QAll do
close;
SQL.Clear;
SQL.Add('Select * from View_8 where NazvRus like '+asd);
open;
end;
end;
5) Не обязательно, но вдруг если знаете. Окно в котором будут вводить текст и отправлять письмом на почту. такое реально и как?