Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почеиу неработает запрос / 20 сообщений из 20, страница 1 из 1
02.12.2006, 16:47
    #34172448
-=Ogre=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Доброго времени суток. Использовал в проектe DataSourse и AdoQuery,результат выводится в DBGrid пишу такое
Код: plaintext
1.
2.
3.
4.
в св-ве формы onShow
q="Insert Into tbl";
q=q+"(id,name)";
q=q+"Values(121,+"Edit1->Text+")" ;
Memo1->Lines->Add(q);
Код: plaintext
1.
2.
3.
в Св-ве Edit'а onChange
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(q);
ADOQuery1->Open();
Итого получаем ошибку:
...
Рейтинг: 0 / 0
02.12.2006, 17:43
    #34172488
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Может так?

Код: plaintext
1.
2.
3.
4.
в св-ве формы onShow
q="Insert Into tbl";
q=q+"(id,name)";
q=q+"Values(121,"+Edit1->Text+")" ;
Memo1->Lines->Add(q);
...
Рейтинг: 0 / 0
02.12.2006, 17:45
    #34172491
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
+ не плохо было бы разделить
Код: plaintext
1.
2.
q=q+"(id,name)";
q=q+"Values(121,+"Edit1->Text+")" ;

пробелом между ")" и "Values":

Код: plaintext
1.
2.
q=q+"(id,name)";
q=q+" Values(121,+"Edit1->Text+")" ;

Разве ADO такое поймет?
...
Рейтинг: 0 / 0
03.12.2006, 12:22
    #34172856
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
ерунда!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 q=" Insert Into tbl(id,name) Values(121, :name) ";
 Memo1->Lines->Add(q);

 ADOQuery1->SQL->Clear();
 ADOQuery1->SQL->Add(q);
 ADOQuery1->Parametrs->ParamByName("name")->Value="Pupkin";
 ADOQuery1->ExecSQL();

  ADOQuery1->Close();
   ADOQuery1->SQL->Text="select * from tbl";
  ADOQuery1->Open();


----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
03.12.2006, 13:47
    #34172908
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
q="Insert Into tbl";
q=q+"(id,name)";
q=q+"Values(121,+"Edit1->Text+")" ;

Здесь если сам собираешь SQL, надо значение текстовое заключать в кавычки.
(если конечно это - текстовое поле).

Код: plaintext
1.
2.
3.
в Св-ве Edit'а onChange
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(q);
ADOQuery1->Open();

INSERT не возвращает строк, поэтому если ты хочешь его выполнить, надо вызывать (кажется) Exec, а не Open. Open - только для запросов, возвращающих наборы данных.

Но я вообще не понимаю, что тут за
строки
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(q);

ты бы с этим тоже поразбирался, как вообще запросы шлют в дельфях.
...
Рейтинг: 0 / 0
03.12.2006, 15:18
    #34172980
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
MasterZiv M> Но я вообще не понимаю, что тут за
M> строки
M> ADOQuery1->SQL->Clear();
M> ADOQuery1->SQL->Add(q);Меня тоже это всегда удивляет. Обычно пишу так:
Код: plaintext
ADOQuery1->SQL->Text=q;

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
03.12.2006, 19:42
    #34173171
Кузнечик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
MasterZivты бы с этим тоже поразбирался, как вообще запросы шлют в дельфях.
Уважаемый, а при чем тут делфа?
Тема форума "С++"
Код: plaintext
1.
2.
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(q);
ADOQuery1->Open();
Насколько я понял автор просто в тупую в хелпе набрал ADOQuery и выбрал там (что -то про SQL, когда - то сам на ето натыкался, но таких извратов слава богу в голову не прихадило)
и просто начал пытаться "пропихнуть слона в автобус" (В смысле на место выборки запрос на добавление)
2MasterZiv иКарабас Барабас
Код: plaintext
1.
2.
3.
4.
5.
M> Но я вообще не понимаю, что тут за
M> строки
M> ADOQuery1->SQL->Clear();
M> ADOQuery1->SQL->Add(q); 
Меня тоже это всегда удивляет. Обычно пишу так:
ADOQuery1->SQL->Text=q;
Уважаемые, уверен что большинство с вами согласятся,но автор лишь использовал удобный для него способ(Видимо под впечатлением от TMemo), или единственный из ему известных
...
Рейтинг: 0 / 0
04.12.2006, 12:21
    #34174295
ZeusTheTrueGod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
И когда же люди научиться писать не "insert into a values(" + a1" + "," + a2 + "," + IntToString(a3)+ " ....." + хз что и пох на инъекции, кавычки и апострофы ???

Неужели так сложно
command.queryText = "insert into a values(?,?,?)"

а дальше

p1 = command.createParameter("?",...)
p2 = command.createParameter("?",...)
p3 = command.createParameter("?",...)

p1.Value = "test";
p2.Value = Date();
p3.Value = 12345.0;

command.addParameter( p1);
command.addParameter( p2);
command.addParameter( p3);

command.execute;

Текст програмы набирать дольше, зато никаких проблем в дальнейшем с кавычками, вводом "3 drop database master" в текстовое поле, апостроф , введенный пользователем тоже перстают быть проблемой. Само собой, точный синтаксис для определенного компонента придется искать самому,
на vbscript это так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Set con = CreateObject("Adodb.Connection")
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\progdb\lab2\2.mdb;User Id=admin;Password=;"
con.Open

Set com = CreateObject("Adodb.Command")
com.CommandText = "select [who],[post] from [posts] where [who] = ? or [who] = ?"
com.ActiveConnection = con

Dim param1
Set param1 = com.CreateParameter("?",  12 ,  1 )
param1.Value = "my friend"

Dim param2
Set param2 = com.CreateParameter("?",  12 ,  1 )
param2.Value = "aa"


com.Parameters.Append param1
com.Parameters.Append param2



Set rs = com.Execute


rs.MoveFirst
Set out = WScript.stdOut

Do While Not rs.EOF
out.writeLine CStr(rs("post"))
rs.MoveNext
loop

...
Рейтинг: 0 / 0
04.12.2006, 14:12
    #34174791
Кузнечик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
2ZeusTheTrueGod
Уважаемый я конечно понимаю, что код проги на бэйсике вы привели для примера, но мне почемуто кажется мало вероятным, что автора ето сильно вдохнавит на правильное написание скриптов.
ЗЫ Господа, я понимаю, что вы хотите как лучше, приводя пимеры на др языках, но по собственному опыту(как никак 4-й год проффессионально программирую), ето не для всех понятно. Так приведя на одном из форумов пример скрипта на Делфи в посте по С++ человек, прочто скопировал текст и с гневными высказываниями на меня, мол я прогить не умею...вобщем надеюсь вы поняли что я хотел сказать. А самое интересное, что некоторые на етом форуме перед тем как помочь людям, сначала их опускают, и не надо писать что ето не так, достаточно пробежаться по темам где участвуют некоторые гуру(не все но некоторые из постоянных).
Могет кто нить из них объяснит мне, какой прок опускать новичка, если он, не точно выразил свои мысли можно сказать "Сформулируйте вопрос точнее(подробнее)", а не ответ вроде "Моя твоя не понимать"
...
Рейтинг: 0 / 0
04.12.2006, 14:27
    #34174863
pandrew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Кузнечик2ZeusTheTrueGod
Уважаемый я конечно понимаю...
Могет кто нить из них объяснит мне...
С какой стати юзер с гостевым акаунтом, начинает поучать на плохом русском, как давать советы программисту. Это проблема автора поста.
Не нравится совет - дай свой.
Типичный флуд, однако.
...
Рейтинг: 0 / 0
04.12.2006, 14:39
    #34174912
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Кузнечик2ZeusTheTrueGod
Уважаемый я конечно понимаю, что код проги на бэйсике вы привели для примера, но мне почемуто кажется мало вероятным, что автора ето сильно вдохнавит на правильное написание скриптов.
ЗЫ Господа, я понимаю, что вы хотите как лучше, приводя пимеры на др языках, но по собственному опыту(как никак 4-й год проффессионально программирую), ето не для всех понятно. Так приведя на одном из форумов пример скрипта на Делфи в посте по С++ человек, прочто скопировал текст и с гневными высказываниями на меня, мол я прогить не умею...вобщем надеюсь вы поняли что я хотел сказать. А самое интересное, что некоторые на етом форуме перед тем как помочь людям, сначала их опускают, и не надо писать что ето не так, достаточно пробежаться по темам где участвуют некоторые гуру(не все но некоторые из постоянных).
Могет кто нить из них объяснит мне, какой прок опускать новичка, если он, не точно выразил свои мысли можно сказать "Сформулируйте вопрос точнее(подробнее)", а не ответ вроде "Моя твоя не понимать"

1. Примеры на других языках приводятся для того, чтобы быстро, просто и наглядно, показать структуру или логику решения задачи. Ответ в таком стиле, наиболее близок к ответу, заключающем в себе готовый исходник.

2. Человек, задающей вопрос, более всех заинтересован в том, чтобы был получен ответ, которого он хочет добиться. Поэтому он должен правельно формулировать вопрос. Тот кто отвечает, видит постановку вопроса, и отвечает в соответствии с ней. Стиль ответа исходит из стиля вопроса. Плохая постановка вопроса в первую очередь - неуважение к участникам форума, которые не против ответить на поставленный вопрос. Выражение недовольности постоновкой вопроса, никак не может быть оцениваться некорректно, т.к. это ответная реакция. В конце концов - что посеешь, то и пожнешь.
...
Рейтинг: 0 / 0
04.12.2006, 14:40
    #34174916
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
-=Ogre=-Доброго времени суток. Использовал в проектe DataSourse и AdoQuery,результат выводится в DBGrid пишу такое
Код: plaintext
1.
2.
3.
4.
в св-ве формы onShow
q="Insert Into tbl";
q=q+"(id,name)";
q=q+"Values(121,+"Edit1->Text+")" ;
Memo1->Lines->Add(q);
Код: plaintext
1.
2.
3.
в Св-ве Edit'а onChange
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(q);
ADOQuery1->Open();
Итого получаем ошибку:

Юзайте вместо Open();
ExecuteSQL();
...
Рейтинг: 0 / 0
04.12.2006, 14:41
    #34174924
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
pandrew Кузнечик2ZeusTheTrueGod
Уважаемый я конечно понимаю...
Могет кто нить из них объяснит мне...
С какой стати юзер с гостевым акаунтом, начинает поучать на плохом русском, как давать советы программисту. Это проблема автора поста.
Не нравится совет - дай свой.
Типичный флуд, однако.

Тут не так давно, был еще один "поучатель", автор какой-то книги по С++. Но после подобного обсуждения (с элементами знания языка) куда-то бесследно пропал. :)
...
Рейтинг: 0 / 0
04.12.2006, 14:41
    #34174925
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Ой , точнее ExecSQL();
...
Рейтинг: 0 / 0
04.12.2006, 15:07
    #34175031
Кузнечик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Хорошо, погорячился может быть с некоторыми моментами, но кто из вас может отрицать, частенько некоторых начинающих гуру словесно опускают ниже плинтуса, (Anatoly...и др)быть может вы со всем этим тоже не согдасны? В некоторых постах это ярко выражено. Если человек неправильно программируеь(использует кривые варианты решения), то не нужно на протяжениии 5 постов опускать его за ето, хотя 1-2 раза сказать как нужно ПРАВИЛЬНО, ето правильно.
ЗЫ Я не являюсь программистом как таковым, поэтому мягко говоря некоторые ответы меня шокируют.
2Akh Спасибо, что открыли глаза...но как не крути , тех кто копирует решения, к сожалению становится больше.
Извеняюсь перед теми кто в етой теме приводил примеры на др языках
...
Рейтинг: 0 / 0
04.12.2006, 15:23
    #34175114
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
КузнечикХорошо, погорячился может быть с некоторыми моментами, но кто из вас может отрицать, частенько некоторых начинающих гуру словесно опускают ниже плинтуса, (Anatoly...и др)быть может вы со всем этим тоже не согдасны? В некоторых постах это ярко выражено. Если человек неправильно программируеь(использует кривые варианты решения), то не нужно на протяжениии 5 постов опускать его за ето, хотя 1-2 раза сказать как нужно ПРАВИЛЬНО, ето правильно.
ЗЫ Я не являюсь программистом как таковым, поэтому мягко говоря некоторые ответы меня шокируют.
2Akh Спасибо, что открыли глаза...но как не крути , тех кто копирует решения, к сожалению становится больше.
Извеняюсь перед теми кто в етой теме приводил примеры на др языках

1. Не адекватных ответов не замечал. Если они хоть раз в неделю-две пролетают, то стоит ли обращать на это внимание? Если стоит, то попробуйте научить весь мир. Только не здесь.
2. Здесь никого просто так не опускают. Еще раз повторю - это ответная реакция.
3. Как человек, не являсь программистом, может профессионально программировать 4 года?
...
Рейтинг: 0 / 0
04.12.2006, 23:17
    #34176151
Кузнечик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
AkhКак человек, не являсь программистом, может профессионально программировать 4 года?
Я считаю что человек, если что то делает и получает за ето деньги, то он делает ето профессионально. Но я не считаю себя проффессиональным программером, тк моя оснавная специальность далека от программирования (чистый гуммунитарий), и программирую я только из любопытства. Ну а когда подворачивается возможность на етом еще и заработать, я ее использую. Но ето происходит не чаще 2 раз в меяц...
...
Рейтинг: 0 / 0
04.12.2006, 23:27
    #34176168
-=Ogre=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Как заметил Кузнечик мне удобнее испльзовать именно ADD,а не Text
То что "+" попал в кавычки ето опечатка была.
2Ramin
Спасибо за то, что показали пример с использованием параметров, много слышал о них, но как-то не до их использования было.
2Всем кроме кузнечика ОгрОМНОЕ спасибо за помощь.
2Кузнечик не флуди!
...
Рейтинг: 0 / 0
06.12.2006, 10:27
    #34179546
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Кузнечик... но по собственному опыту(как никак 4-й год проффессионально программирую)...

Кузнечик Но я не считаю себя проффессиональным программером

Раздвоение личности? :)
...
Рейтинг: 0 / 0
06.12.2006, 10:38
    #34179577
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почеиу неработает запрос
Кузнечик AkhКак человек, не являсь программистом, может профессионально программировать 4 года?
Я считаю что человек, если что то делает и получает за ето деньги, то он делает ето профессионально. Но я не считаю себя проффессиональным программером, тк моя оснавная специальность далека от программирования (чистый гуммунитарий), и программирую я только из любопытства. Ну а когда подворачивается возможность на етом еще и заработать, я ее использую. Но ето происходит не чаще 2 раз в меяц...

То то все виндоус глючит, самолеты падают, дома рушаться. А выделение земли под застройку в соответсвии с размером взятки, вообще, верх. Профессионалы, однако.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почеиу неработает запрос / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]