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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2008, 07:51   #1
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию Добавление данных в таблицы Interbase

Нужно добавить данные в Interbase таблицы,данные вводятся с формы...
Для добавления написал следующее:
procedure TForm2.Button3Click(Sender: TObject);
begin
ibquery1.SQL.Clear;
ibquery1.SQL.Append('INSERT INTO "Devices" ("Name") VALUES ("edit1.Text")');
ibquery1.SQL.Append('INSERT INTO "DeviceTree" ("ParentId") VALUES ("edit2.text")');
ibquery1.SQL.Append('INSERT INTO "Devices" ("Id") VALUES ("edit3.text")');
end;
не работает...
Нужно чтобы в соответствующие поля соответствующих таблиц добавлялись значения которые будут введены в соответствующих полях формы(edit1...edit2...и т.д.)
Заранее спасибо. Не судите слишком строго я только учусь и разбираюсь в этом во всем.
hijke вне форума Ответить с цитированием
Старый 22.10.2008, 08:04   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

1. Что за SQL.Append? Вдумайтесь. Мало ли что у вас там (в SQL.Text) было, а вы "вструмили" где-то между чем-то свои строки...
SQL.Text:=('.....') !!!
И еще. SQL команду вы определили. А кто запустит ее на исполнение?
EXECSQL
2. Формат команды INSERT INTO TABLE (pole1,pole2,..polen) VALUES (val1,val2,..valn). Эта команда вставляет ЗАПИСЬ, а не отдельные поля...
Пример из руководства по IB SQL:
Цитата:
INSERT INTO ORDERS (ORDER_DATE, ORDER_AMT) VALUES ('1-MAY-93', 512.36);
3. По поводу вставки значений из эдитов. Тут придется со строкой SQL чуток "поизвращаться", а именно:
... VALUES ('+QuotedStr(edit1.Text)+','+Quoted Str(edit2.Text)+','+...+')';
То есть строку составляем из "кусочков".
И никаких двойных кавычек!!! Только апострофы!

Последний раз редактировалось mihali4; 22.10.2008 в 08:17.
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 08:09   #3
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию

и как быть дальше тогда?
конкретный совед дать можете?
просто не все данные будут с формы заноситься ,а только значения отдельных полей...
hijke вне форума Ответить с цитированием
Старый 22.10.2008, 08:21   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
и как быть дальше тогда? конкретный совед дать можете?
Простите, а куда уж конкретнее??? Вроде все разжевал, привел примеры и по полочкам разложил...
Если вам эта элементарщина непонятна - может ну его, это программирование? Или, может, взять-таки умную книгу, раз живого человека не понимаете...
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 08:24   #5
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию

все все...понял понял)сори)я просто отредактированное сообщение не заметил просто)
hijke вне форума Ответить с цитированием
Старый 22.10.2008, 08:37   #6
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию

INSERT INTO "Devices" (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)','+QuotedS tr(edit3.Text)');
вставил такую строку...не работает...
hijke вне форума Ответить с цитированием
Старый 22.10.2008, 08:42   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от hijke Посмотреть сообщение
INSERT INTO "Devices" (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)','+QuotedS tr(edit3.Text)');
вставил такую строку...не работает...
Опять двадцать пять...
Я же сказал - никаких двойных кавычек... Во-первых, имена таблиц и полей в кавычки или апострофы НЕ ЗАКЛЮЧАЮТСЯ!
Во-вторых, похоже, вы как тот голый, который в баню боится опоздать
QuotedStr(edit1.Text)+','
И показывайте целиком procedure TForm2.Button3Click... Или, по крайней мере, указывайте признаки того, что у вас "а у меня ничего не работает". Гадать, что там у вас не работает, под силу только экстрасенсам, а они у нас, как известно, в бессрочном отпуске...

Последний раз редактировалось mihali4; 22.10.2008 в 08:44.
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 08:47   #8
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию

procedure TForm2.Button3Click(Sender: TObject);
begin
ibquery1.SQL.Clear;
INSERT INTO Devices (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)+','+Quoted Str(edit3.Text)+');
execsql
end;
вот такая у меня там фигня...и вот вусе равно не канает)
hijke вне форума Ответить с цитированием
Старый 22.10.2008, 08:54   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
INSERT INTO Devices (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)+','+Quoted Str(edit3.Text) +');
execsql
Вы что, издеваетесь!?
У вас в самом начале грамотнее было написано...
К чему относится "execsql"? Может, все таки к ibquery1?
Ну, так и пишите - ibquery1.execsql;
А текст SQL, который
INSERT INTO Devices (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)+','+Quoted Str(edit3.Text) +')
Вы его ЧЕМУ присваиваете? Посмотрите свой первый пост...
З.Ы. Вы вообще, хоть разок во встроенный хэлп заглядывали? А зря... Вот метод "тыка" тут явно "не катит"...
Поскольку вы работаете с интербэйсом, значит он у вас установлен, а посему не поленитесь заглянуть в документацию:
...\InterBase\doc
Процентов 80 ваших вопросов отпадут сами собой (даже с табуретки прыгать не придется )

Последний раз редактировалось mihali4; 22.10.2008 в 09:02.
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 09:01   #10
hijke
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 26
По умолчанию

procedure TForm2.Button3Click(Sender: TObject);
begin
ibquery1.SQL.Clear;
ibquery1.SQL.INSERT INTO Devices (Devices_Id,Devices_Name) VALUES ('+QuotedStr(edit1.Text)+','+Quoted Str(edit3.Text)+');
ibquery1.execsql
end;
так чтоли?
hijke вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как мне прицепить БД(таблицы) с Interbase к Delphi hijke БД в Delphi 9 18.11.2008 13:32
Добавление в 2 таблицы Dissonance БД в Delphi 5 04.06.2008 23:54
Программное создание таблицы в InterBase Proof БД в Delphi 2 05.05.2008 21:05
Interbase, добавление записи Алёна БД в Delphi 9 25.03.2008 11:54
Как из Delphi залезть в системный таблицы InterBase Leee БД в Delphi 0 21.04.2007 21:04