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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2008, 19:03   #1
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
Печаль Почему не робит??

rocedure TForm2.BitBtn1Click(Sender: TObject);
var
Family: String[15];
Nam: String[15];
Otch: String[15];
Profession: String[50];
TabNom: String[5];
sqlstring: String;
begin
Family := Edit1.Text;
Nam := Edit2.Text;
Otch := Edit3.Text;
Profession := ComboBox1.Text;
TabNom := Edit4.Text;
sqlstring := 'INSERT INTO Spisok (%s, %s, %s, %s, %s) VALUES (TabN, Fam, Name, Ot, Prof)' ;
Table1.Tablename := 'Spisok';
Table1.Active := True;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.add (Format (sqlstring, [ TabNom, Family, Nam, Otch, Profession ] ) );
Query1.ExecSQL;
end;
uraura вне форума Ответить с цитированием
Старый 29.10.2008, 20:51   #2
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Потому что в запросе сначала идут имена полей, а уж потом их значения. Да и строки надо заключать в кавычки.
Aristarh Dark вне форума Ответить с цитированием
Старый 29.10.2008, 21:08   #3
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

Блин, уже замучился, сначала поля поставлю: жалуется на неправильное имя поля, так поставлю: жалуется на кейворд. Всяко эксперементировал не робит и все. Могет кто поправит, если не сложно конечно.
uraura вне форума Ответить с цитированием
Старый 29.10.2008, 21:18   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Query1.SQL.Text:='INSERT INTO Spisok (TabNom, Family, Nam, Otch, Profession) VALUES ('+
QuotedStr(TabN)+', '+QuotedStr(Fam)+', '+QuotedStr(Name)+', '+QuotedStr(Ot)+', '+QuotedStr(Prof)+')';
mihali4 вне форума Ответить с цитированием
Старый 29.10.2008, 21:46   #5
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

Cannot perform this operation on an open dataset!
как быть?
имена полей с переменными уже поменял т.к. сначала поля а потом переменные (вродебы)
uraura вне форума Ответить с цитированием
Старый 29.10.2008, 22:33   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Cannot perform this operation on an open dataset!
как быть?
Query1.Close;
Query1.SQL.Text:=.......
Query1.ExecSQL;
mihali4 вне форума Ответить с цитированием
Старый 30.10.2008, 17:32   #7
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

Query1.SQL.Text:='INSERT INTO Spisok (TabN, Fam, Name, Ot, Prof) VALUES ('+
QuotedStr(TabNom)+', '+QuotedStr(Family)+', '+QuotedStr(Nam)+', '+QuotedStr(Otch)+', '+QuotedStr(Profession)+')';

Вот так сробило спасибо mihali4!
uraura вне форума Ответить с цитированием
Старый 30.10.2008, 19:02   #8
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

А вот еще запрос: я хотел получить максимальное значения поля из столбца Nvopr при значении Glava допустим 5
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT MAX (Nvopr) FROM Vopros WHERE Glava = 5');
Query1.Open;
maxnvopr:= Table1.FieldValues ['Nvopr'];
НО мне возвращается значение maxnvopr=0
uraura вне форума Ответить с цитированием
Старый 30.10.2008, 20:17   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

maxnvopr:= Query1.Fields[0].Value;
mihali4 вне форума Ответить с цитированием
Старый 30.10.2008, 20:24   #10
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

mihali4 респект тебе и уважуха!!!!
uraura вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42
почему не находит??? vipER Общие вопросы C/C++ 1 26.09.2007 14:26
Почему? Sota О форуме и сайтах клуба 4 26.07.2007 16:26
Почему так? Сильванович Михаил Общие вопросы C/C++ 2 03.07.2007 11:57