Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Вниз

Insert   Найти похожие ветки 

 
New   (2004-01-19 15:06) [0]

Мастера, подскажите как правильно.
При показе формы выполняется:
DillDB:=Application.ExeName[1]+":\Bases\Dill.db";
(DillDB:String) т.е. определяю путь к БД.
После пытаюсь выполнить:
active:=false;
sql.Clear;
sql.add("Insert into DillDB (Firma,Sobst,INN,Phone,Fax,LegalAdress)values(Edit1.text,Edit2.text,Edit3.text,Edit4.text,Edit5.text,Edit6.text)");
execsql;
Т.е путь к базе пытаюсь взять из переменной.
Ругается, что нет базы.
Как правильно написать?


 
Vlad   (2004-01-19 15:11) [1]

DillDB:=ExtractFileDrive(ParamStr(0)) + "\Bases\Dill.db";

sql.add("Insert into " + DillDB + "Firma,Sobst,INN,Phone,Fax,LegalAdress)values " + ....(итд)


 
New   (2004-01-19 15:20) [2]

sql.add("Insert into " + DillDB + "(Firma, Sobst, INN, Phone, Fax, LegalAdress) values (Edit1.text, Edit2.text, Edit3.text, Edit4.text, Edit5.text, Edit6.text)");
Не работает.


 
Vlad   (2004-01-19 15:24) [3]


> New (19.01.04 15:20) [2]


Первый день программируем ?


 
New   (2004-01-19 15:33) [4]

Почти...


 
DenK_vrtz   (2004-01-19 15:51) [5]

> New

а чего хоть говорит? Интересно! :)


 
Vlad   (2004-01-19 15:55) [6]


> New (19.01.04 15:33) [4]

Ты хоть смотрел какой запрос ты сформировал ?
showmessage(sql.text);

Этот пример из расчета, что все поля символьные:


const
sSQL: string = "Insert into %S (Firma, Sobst, INN, Phone, Fax, LegalAdress) values (%S, %S, %S, %S, %S, %S)");
var
SqlText,S1,S2,S3,S4,S5,S6: string;
......
s1:=QuotedStr(Edit1.Text);
s2:=QuotedStr(Edit2.Text);
s3:=QuotedStr(Edit3.Text);
s4:=QuotedStr(Edit4.Text);
s5:=QuotedStr(Edit5.Text);
s6:=QuotedStr(Edit6.Text);

SqlText:= Format(sSql,[DillDB, S1, S2, S3, S4, S5, S6]);

Sql.Add(SqlText)


Единственное, что я не помню, так это имя таблицы нужно брать в кавычки или нет.... Если что, внеси поправку.


 
New   (2004-01-19 15:56) [7]

Invalid use of keyword.


 
DenK_vrtz   (2004-01-19 16:03) [8]

гы
DillDB + "(Firma,...
на
DillDB + " (Firma,


 
Vlad   (2004-01-19 16:07) [9]


> DenK_vrtz © (19.01.04 16:03) [8]

Угу, а ты дальше его строчку почитай.... :-) вернее :-(


 
DenK_vrtz   (2004-01-19 16:08) [10]

простите, господа, я туплю! :)

P.S. Админы, простите!


 
DenK_vrtz   (2004-01-19 16:16) [11]

В общем, :) путь к таблице надо заключить в кавычки. И все!
Одним словом, Vlad © (19.01.04 15:55) [6]! :)


 
DenK_vrtz   (2004-01-19 16:22) [12]

>Vlad ©
а мне то сначала не к чему о чем ты написал в [9]

Мда!

>New
:(


 
New   (2004-01-19 16:26) [13]

Угу, а ты дальше его строчку почитай.... :-) вернее :-(
Ну вы можете новичку объяснить не выпендриваясь. В чём проблемма?
Почему мой вариант не работает?


 
Vlad   (2004-01-19 16:29) [14]


> New (19.01.04 16:26) [13]

Я тебе объяснил, посмотри что за запрос ты сформировал.
showmessage(sql.text) и сам все поймешь, а если не поймешь, спроси конкретно, о чем ты не понял.


 
DenK_vrtz   (2004-01-19 16:39) [15]

>New

Никто не выпендривается. Лучше ошибку самому исправить, потом ее уже не сделаешь. Тем более сказали чем воспользоваться.


 
New   (2004-01-19 16:54) [16]

Имелось ввиду это:
"+Edit1.text+" и т.д.


 
Vlad   (2004-01-19 17:17) [17]


> New (19.01.04 16:54) [16]
> Имелось ввиду это:
> "+Edit1.text+" и т.д.

Ну прости, брат, если ты пишешь одно, а имеешь ввиду другое, то
жди, пока выйдут из отпуска местные телепаты.

Воспользуйся советом DenK_vrtz © (19.01.04 16:16) [11], заключи в кавычки путь к таблице


 
New   (2004-01-21 11:58) [18]

Блин, замучился уже.
"Insert into "+DillDB+" (Firma, Sobst, INN, Phone, Fax, LegalAdress) values ("+Edit1.text+", "+Edit2.text+", "+Edit3.text+", "+Edit4.text+", "+Edit5.text+", "+Edit6.text+")";
Showmessage(sql.text) выдаёт:
Insert into c:\Bases\Dill.db (Firma, Sobst, INN, Phone, Fax, LegalAdress) values (1,2,3,4,5,6)
P.S. (1,2,3,4,5,6) - я ввёл в Edit"ы.
А потом ошибка: Invalid use of keyword. Token:? Line: 1
Уже имя базы и кавычки заключал - не получается!


 
Johnmen   (2004-01-21 12:02) [19]

Намек :
Поле Firma (Sobst, INN, Phone,...) числовое, что ты пытаешься записать в него число 1 (2,3,4,...) ???


 
New   (2004-01-21 12:24) [20]

Но ведь в книжке написано:
Insert into <имя таблицы> (список полей) values (список значений);
Firma (Sobst, INN, Phone,...) - поэтому это непонятно. Почему Вы так написали?


 
DenK_vrtz   (2004-01-21 12:30) [21]

1.c:\Bases\Dill.db должно быть в кавычках
2.Разбираться с типами


 
New   (2004-01-21 12:46) [22]

2) Все поля текстовые - всё равно , что писать.

1)
Dilldb:string;
DillDB:=ExtractFileDrive(ParamStr(0)) + "\Bases\Dill.db";

"DillDB" ()values ();
"DillDB" ()values ();
"+DillDB+" ()values ();
как ещё записать - все три варианта не работают.

Кстати, при попытки просмотра таблицы select * from "+DillDB+";выдаётся ошибка Token not found/ Token: C


 
Vlad   (2004-01-21 13:39) [23]


>New (21.01.04 11:58) [18]
> Showmessage(sql.text) выдаёт:
> Insert into c:\Bases\Dill.db (Firma, Sobst, INN, Phone,
> Fax, LegalAdress) values (1,2,3,4,5,6)


А должен выдавать:
Insert into "c:\Bases\Dill.db" (Firma, Sobst, INN, Phone, Fax, LegalAdress) values ("1","2","3","4","5","6")

Разницу чувствуешь ?


 
New   (2004-01-21 15:21) [24]

Да, почувствовал :).
Всем большое спасибо за помошь.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.016 c
1-38796
GrayFace
2004-02-03 13:37
2004.02.13
Несовместимость с прошлыми версиями. DsgnIntf.pas, proxies.pas


3-38705
чайник1
2004-01-22 14:19
2004.02.13
Access violation


1-38767
V-A-V
2004-02-05 09:07
2004.02.13
Дата и время создания и модификации файла


14-39047
sancho
2004-01-26 00:02
2004.02.13
Подскажите микшер.


1-38773
Cosinus
2004-02-03 18:21
2004.02.13
Поиск по маске





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский