Error creating cursor handle delphi

Error creating cursor handle Delphi БД Решение и ответ на вопрос 221679

malir

2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

1

28.12.2010, 09:36. Показов 8863. Ответов 14

Метки нет (Все метки)


Выскакивает ошибка при переносе данных из 1 таблицы во вторую(Error creating cursor handle)
Хотелось бы исправить эту ошибку(Error creating cursor handle),чет не получается у самого,кто сталкивался помогите)
Вот код процедуры:

Delphi
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
procedure TForm6.Button2Click(Sender: TObject);
var ID,Name,kol2:string;
kol,kol1:integer;
begin
ID:=Edit1.Text;
kol:=strtoint(Edit2.Text);
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Sklad where ID='+ID);
Query1.Open;
Name:=Query1.FieldByName('Name').AsString;
Edit4.Text:=Name;
Name:=''''+Edit4.Text+'''';
FOrm5.Query7.Close;
Form5.Query7.SQL.clear;
Form5.Query7.SQL.Add('select * from sklad1 where Name='+Name);
Form5.Query7.Open;
While not Form5.Query7.Eof do
begin
 kol1:=form5.Query7.FieldByName('kol').AsInteger;
 kol1:=kol+kol1;
 Edit5.Text:=Inttostr(kol1) ;
 kol2:=Edit5.Text;
Form5.Query7.Close;
Form5.Query7.SQL.Clear;
Form5.Query7.SQL.Add('Update Sklad1 set kol='+kol2);
Form5.Query7.ExecSQL;
Form5.Query7.Open;
Form5.Query7.Next;
end;
end;

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Lord_Voodoo

Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 09:45

2

malir, вы говорите запросу на обновление неизвестные ему команды:

Delphi
1
2
Form5.Query7.Open;
Form5.Query7.Next;

убери этот кусок кода и все пойдет как надо



0



2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 09:47

 [ТС]

3

А как тада таблицу открыть? и на следующую строчку перейти в While?



0



Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 09:55

4

malir, для начала вам неплохо бы запрос на выборку восстановить



0



malir

2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 09:56

 [ТС]

5

Это в какой строчке?

тут где то?

Delphi
1
2
3
4
5
6
7
8
Query1.SQL.Add('Select * from Sklad where ID='+ID);
Query1.Open;
Name:=Query1.FieldByName('Name').AsString;
Edit4.Text:=Name;
Name:=''''+Edit4.Text+'''';
FOrm5.Query7.Close;
Form5.Query7.SQL.clear;
Form5.Query7.SQL.Add('select * from sklad1 where Name='+Name);



0



Lord_Voodoo

Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 10:01

6

malir, перед строками, которые я вам указал выше добавьте:

Delphi
1
2
Form5.Query7.SQL.clear;
Form5.Query7.SQL.Add('select * from sklad1 where Name='+Name);



0



2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 10:07

 [ТС]

7

Хе он(Дэлфи) добавляет в бесконечном цикле…..)))))

вместо указанных 2 он добавил 10000+,потом нажал програм резет….



0



Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 10:14

8

malir, а теперь тоже самое, но по-русски, что добавляет, кто добавляет… ничего не понял



0



malir

2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 10:24

 [ТС]

9

Суть задачи: увеличить количество товаров в складе(таблица sklad1) ,путем переноса некоторого количества из другого склада(sklad).
Берем из sklad1 количество:

Delphi
1
 kol1:=form5.Query7.FieldByName('kol').AsInteger;

по идее там выводится 0
и

Delphi
1
kol:=strtoint(Edit2.Text);

вводим нужное нам количество через едит
суммируем их

Delphi
1
kol1:=kol+kol1;

и редактируем

Delphi
1
Form5.Query7.SQL.Add('Update Sklad1 set kol='+kol2)

я ввожу в эдите 2 ,т.е. должно добавиться к количеству тока 2,но цикл

Delphi
1
While not Form5.Query7.Eof do

продолжается бесконечно…



0



Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 10:29

10

malir,

Цитата
Сообщение от malir
Посмотреть сообщение

Form5.Query7.SQL.Add(‘Update Sklad1 set kol=’+kol2)

а вы разве не знаете, что этот запрос вам обновит сразу всю таблицу? зачем вам еще и цикл? и использовать в цикле один и тот же запрос и для отображения и обновления — это действительно вечный цикл, только вокруг первой записи



0



2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 10:33

 [ТС]

11

не одну тока строчку что ли?
ча попробуем убрать

Добавлено через 3 минуты
Все работает))))странно а у нас препод на паре всегда так делал…..
Спасибо большое))))))



0



Lord_Voodoo

Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 10:33

12

malir, погодите, а как по-вашему работает запрос на обновление? подключается к вашему мозгу и спрашивает, что обновить? вы вообще насколько знакомы с sql? надо по ключу обновлять, если запросом или если вы это делаете циклом, тогда через

Delphi
1
2
3
Table1.Edit;
Table1.FieldByName('kol-vo').AsInteger := Table1.FieldByName('kol-vo').AsInteger + StrToInt(Edit1.Text);
Table1.Post;

Цитата
Сообщение от malir
Посмотреть сообщение

а у нас препод на паре всегда так делал…..

либо у вас препод сам дельфи видит второй раз, либо вы просто наговариваете на него, а сами так и не удосужились почитать хотя бы справку



1



2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 10:36

 [ТС]

13

SQL тока начинаю изучать,пока тока знаю стандартные логические операции и апдейт,инсерт,дел,и сортировка пару штук)

нет на препода я не наговариваю просто вроде Бд это не его,когда я у него спросил про эту ошибку ,он при мне зашел в инет и начал гуглить и копаться в форумах,потом уюрал строку Query7.Open;и грит вот же типо не выскакивает ошибка.а нафига мне это еси табл не открывать…..



0



Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

28.12.2010, 10:44

14

malir, ладно, не мне судить о преподах, особенно, с которыми не знаком лично… кода там у тебя слишком много лишнего… вот это я вижу сразу… и если собираетесь писать проги с использованием баз данных, sql должен стать вторым родным языком



0



2 / 2 / 0

Регистрация: 08.10.2009

Сообщений: 78

28.12.2010, 10:46

 [ТС]

15

Ну ради этого я и пошел на программиста )))буим стараться)спасибо за совет)



0



INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Thanks. We have received your request and will respond promptly.

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!

  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It’s Free!

*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

‘Error Creating Cursor Handle’

‘Error Creating Cursor Handle’

(OP)

29 Mar 99 02:20

‘Error Creating Cursor Handle’
Does anybody know what this means. Ihave a project with around 15 TQuery or TTable comps on it. everything was fine, then i added one more TQuery to do an INSERT and i getthe above error every time i try to activate it, the INSERT still works, i just get the error after. TQuerys doing insert that were added before this one still work ok and if a add a TQuery and do a SELECT that is ok. any ideas?

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Join Tek-Tips® Today!

Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.

Here’s Why Members Love Tek-Tips Forums:

  • Tek-Tips ForumsTalk To Other Members
  • Notification Of Responses To Questions
  • Favorite Forums One Click Access
  • Keyword Search Of All Posts, And More…

Register now while it’s still free!

Already a member? Close this window and log in.

Join Us             Close

>
[на редактирование] Error Creating Cursor Handle
, BDE+Delphi/BCB

  • Подписаться на тему
  • Сообщить другу
  • Скачать/распечатать тему



Сообщ.
#1

,
17.01.04, 15:34

    Для запросов которые возвращают данные (Select) допустимо использование

    ExpandedWrap disabled

      Query1.open

    или

    ExpandedWrap disabled

      Query.active:=true;

    Но если запрос результат не возвращает например Update, Insert и т.п., то приведенные выше примеры запрос выполняют, но возвращают ошибку «Error Creating Cursor Handle». Для таких запросов используется другой вызов:

    ExpandedWrap disabled

      Query1.ExecSQL

    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

    0 пользователей:

    • Предыдущая тема
    • Базы данных FAQ
    • Следующая тема

    [ Script execution time: 0,0236 ]   [ 15 queries used ]   [ Generated: 9.02.23, 13:06 GMT ]  

    Понравилась статья? Поделить с друзьями:

    Читайте также:

  • Error creating credentials перевод
  • Error creating conda virtual environment
  • Error creating bean with name перевод
  • Error creating bean with name viewresolver
  • Error creating bean with name tomcatservletwebserverfactory

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии