Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [D7, MySQL, dBase, FoxPro]


Che ©   (2002-12-17 01:57:00) 

Ребята помогите...
Вот это не работает..если вот тут -> VALUES (Edit1.Text), вместо Edit1.Text, готовый текст в скобках..тогда всё ок..
а так... что я только не пробовал

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.SQL.Add("INSERT INTO Girls(ID) VALUES (Edit1.Text)");
Query1.ExecSQL;
end;


Che   (2002-12-17 12:26:00) [1]

да


Anatoly Podgoretsky   (2002-12-17 12:10:00) [2]

Ты к себе это отнес, что же частично правильно


Che   (2002-12-17 11:33:00) [3]

а чё тут формулировать...
просто хочу из текстового поля внести Text в базу...
и всё.))


Anatoly Podgoretsky   (2002-12-17 11:29:00) [4]

Ну а как разъвязать флейм, если не понимаешь а о чем тут говорят :-)
Потом простой вопрос подразумевает кучу толкований и кучу путей решения, особенно если вопросник не точно его вормулирует.


Johnmen   (2002-12-17 11:14:00) [5]

Не даром подмечено, что, чем проще вопрос, тем больше флейм...:)))


Anatoly Podgoretsky   (2002-12-17 11:06:00) [6]

И не мучайся с подсчетом скобок используй QuotedStr


ЮЮ   (2002-12-17 10:55:00) [7]

rdk (17.12.02 10:53)
не хватает обрамляющих скобок для VALUES()


rdk   (2002-12-17 10:53:00) [8]

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.SQL.Add("INSERT INTO Girls(ID) VALUES");
Query1.SQL.Add(Edit1.Text);
Query1.ExecSQL;
end;


ЮЮ   (2002-12-17 10:42:00) [9]

Это не "Edit1.Text" в одинарных кавычках, а
конкатенация трех строк:
1) "INSERT INTO Girls(ID) VALUES ("
2) Edit1.Text
3) ")"

Человеку не с базами учиться работать надо, а освоитm синтаксис Object Pascal для начала


stone   (2002-12-17 10:37:00) [10]

тут про ADO, но принцип тот же
http://delphi.mastak.ru/cgi-bin/forum.pl?n=1&look=1&id=1040108188&from=1


Che   (2002-12-17 10:33:00) [11]

Хорошо.. спасибо..за советы буду читать...

P.S.
Он говорит, что Parametr ID not found =))


Max Zyuzin   (2002-12-17 10:27:00) [12]

>Che (17.12.02 10:09)
Если у тебя цифры обычные то поменяй строку
Query1.ParamByName("id").asString := Edit1.Text;
на
Query1.ParamByName("id").asInteger := StrToInt(Edit1.Text);
А вообще послушай Prooksius и почитай книги...

>Prooksius © (17.12.02 10:17)
:-)


Prooksius   (2002-12-17 10:17:00) [13]

Тебе Max Zyuzin все разжевал и на тарелочку выложил. Кушай :)))


Che   (2002-12-17 10:15:00) [14]

Не...главное что ..если просто в одинарных ковычках
-> "Edit1.Text", то всё нормально..а так...


Prooksius   (2002-12-17 10:14:00) [15]

2 Che (17.12.02 10:09)
Посмотри примеры работы с базами. В Дельфи/Demos их куча.
Или купи книжку.


Che   (2002-12-17 10:09:00) [16]

ID цифры обычные...=)
но я и на Integer менял..
а ошибку выдаёт General SQL Error


Max Zyuzin   (2002-12-17 10:07:00) [17]

А что именно "не работает" мы же не телепаты... не знаем, что тебе говорит дельфи..

А вообще лучше пользоваться параметическими запросами...
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("INSERT INTO Girls(ID) VALUES (:ID)");
Query1.ParamByName("id").asString := Edit1.Text;
Query1.ExecSQL;

Если конечно поле ID у тебя имеет тип стринговый... А мне почему то кажется что нет...


Che   (2002-12-17 10:02:00) [18]

неа не работает....если первый вариант..заносит в базу текст "Edit1.Text"..
может настроил чё не так..


-=Sergeante=-   (2002-12-17 09:27:00) [19]

А точнее:
Query1.SQL.Add("INSERT INTO Girls(ID) VALUES ( """ + Edit1.Text + " "")");


ЮЮ   (2002-12-17 04:17:00) [20]

Не надо путать текст запроса и объекты программы:
Query1.SQL.Add("INSERT INTO Girls(ID) VALUES (" + Edit1.Text + ")");


Наверх

Титульная страница Поиск, карта сайта Написать письмо