Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 |

 

  Вопрос: На делфимастер не помогли, может тут помогут Добавлено: 23.10.05 20:25  

Автор вопроса:  ViktorZ | ICQ: 271202919 
Query1.SQL.Add('UPDATE PCHECK.DB SET PCHECK.DB.Curency = PCHECKNEW.DB.Curency where PCHECK.DB.Cnum = PCHECKNEW.DB.Cnum');

Вот кусок кода который должен брать данные из одного столбца и вставлять в др. Делфи не ругается, но и ничего не делает))). Вб не предлагать.

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #1
Добавлено: 23.10.05 21:57
Как минимум ошибка в команде SET.
1. SET Curency (ограничение на модификацию сразу нескольких таблиц. SET PCHECK.DB.Curency- неверно.
2. Если берешь даныые из другой таблицы наверное их нх нужно получить (Select).
3.Аналогично с where.

Ответить

Номер ответа: 2
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #2 Добавлено: 23.10.05 22:58
Вб не предлагать

Выполнением запроса занимается база.
И ей глубоко фиолетово, вызывают её из VB или из дельфи.

UPDATE PCHECK.DB, PCHECKNEW.DB SET PCHECK.DB.Curency = PCHECKNEW.DB.Curency
WHERE PCHECK.DB.Cnum = PCHECKNEW.DB.Cnum

Это будет работать в рамках одной базы.
Будет ли это работать через две базы, я не знаю.
Но для указания положения таблицы в другой базе в SQL используется слово IN.

Ответить

Номер ответа: 3
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #3 Добавлено: 24.10.05 06:14
Выполнением запроса занимается база.
И ей глубоко фиолетово, вызывают её из VB или из дельфи.

Я это понимаю. Просто я хотел отмести различный флуд типа делай на Вб, там проще...

SET PCHECK.DB.Curency- неверно
Почему неверно? делаю Селект PCHECK.DB.Curency отлично работает.

Но для указания положения таблицы в другой базе в SQL используется слово IN.
Мне тут посоветовали на ADO сделать. По их мнению сработает.

Ответить

Номер ответа: 4
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #4
Добавлено: 24.10.05 06:43
Мне тут посоветовали на ADO сделать. По их мнению сработает.

Млин...

Ответить

Номер ответа: 5
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #5 Добавлено: 24.10.05 08:34
Пробовал АДО. ПИшет:Должен использоваться обновляемый запрос.
Млин...

??

Ответить

Номер ответа: 6
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #6
Добавлено: 24.10.05 19:00
Неважно посредством какой технологии ты работаешь с БД. Будь это BDE или ADO.

Почему нельзя в SET указывать имя таблицы. Потому что по стандарту (ANSI - есть такой стандарт) - этого делать нельзя. Таблица указывается в операторе UPDATE.
Правда этого стандарта мало кто придерживается(точнее расширяют возможности языка), но ты работаешь с таблицами dBase - самыми так сказать древними. Я не знаю какая у тебя версия, но возможно такое расширение не поддерживатся. В любом случае лучше писать проще.

Для начала напиши простой запрос на обновление(убери пока вторую таблицу).Посмотри как работает и дальше уже можно делать выводы.

Ответить

Номер ответа: 7
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #7 Добавлено: 24.10.05 19:41
Неважно посредством какой технологии ты работаешь с БД. Будь это BDE или ADO.

на самом деле важно и это ты сам же и доказал в своем топике ;-)). Простой запрос то я написал и все работает прекрасно. Проблема то и есть в том чтобы скопировать данные из одного столбца таблицы Х и вставить эти же данные в таблицу У.Пока я не знаю как.

Ответить

Номер ответа: 8
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #8
Добавлено: 24.10.05 19:59
на самом деле важно и это ты сам же и доказал в своем топике ;-)).

Что я доказал??????

Проблема то и есть в том чтобы скопировать данные из одного столбца таблицы Х и вставить эти же данные в таблицу У.Пока я не знаю как.


Вот это уже ближе. Пожди чуть позже напишу.

Ответить

Номер ответа: 9
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #9
Добавлено: 24.10.05 22:42
Vik у меня все нормально работает??
Измени запрос как написал GSerg.

Единственное что может быть если дельфи не ругается и ничего не делает, просто логическая ошибка.
WHERE PCHECK.DB.Cnum = PCHECKNEW.DB.Cnum

Возможно это условие просто не выполняется?
Проверь.

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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам