|
|
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня такая вот проблема. Вроде бы, составлен рабочий запрос, пи сохранении кода ошибок не выдаётся, но вот как только нажимаешь поиск на форме запрос не выполняется... Дебаггер указывает на последнюю строку то есть "&sqltext" Подскажите, в чём тут ошибка, и что нужно исправить? Может в свойствах самой формы что-то не так? Код запроса PUBLIC k as Boolean, sqltext as String, sq as String sq = "SELECT t_gitel.Фамилия, t_gitel.имя, t_gitel.отчество, t_gitel.дата_рожд,t_raion.район, t_ulica.улица, t_adress.номер_дома, t_adress.номер_кв, t_adress.телефон " sq = sq + "FROM t_gitel INNER JOIN t_projivaet on t_projivaet.id_gitel = t_gitel.id_gitel " sq = sq + "INNER JOIN t_adress on t_adress.id_adress = t_projivaet.id_adress INNER JOIN t_raion on t_raion.id_raion=t_adress.id_raion INNER JOIN t_ulica on t_ulica.id_ulica = t_adress.id_ulica " sq = sq + "WHERE" k = .F. sqltext = sq FOR i=1 TO 9 IF flag(i) IF k sqltext = sqltext + " and " + usl(i) ELSE sqltext = sqltext + usl(i) k=.T. ENDIF ENDIF ENDFOR &sqltext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 11:19 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
В первую очередь проверить содержимое sqltext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 11:35 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
ShunЗдравствуйте. У меня такая вот проблема. Вроде бы, составлен рабочий запрос, пи сохранении кода ошибок не выдаётся, но вот как только нажимаешь поиск на форме запрос не выполняется... Дебаггер указывает на последнюю строку то есть "&sqltext" Подскажите, в чём тут ошибка, и что нужно исправить? Может в свойствах самой формы что-то не так? Код запроса PUBLIC k as Boolean, sqltext as String, sq as String sq = "SELECT t_gitel.Фамилия, t_gitel.имя, t_gitel.отчество, t_gitel.дата_рожд,t_raion.район, t_ulica.улица, t_adress.номер_дома, t_adress.номер_кв, t_adress.телефон " sq = sq + "FROM t_gitel INNER JOIN t_projivaet on t_projivaet.id_gitel = t_gitel.id_gitel " sq = sq + "INNER JOIN t_adress on t_adress.id_adress = t_projivaet.id_adress INNER JOIN t_raion on t_raion.id_raion=t_adress.id_raion INNER JOIN t_ulica on t_ulica.id_ulica = t_adress.id_ulica " sq = sq + "WHERE" k = .F. sqltext = sq FOR i=1 TO 9 IF flag(i) IF k sqltext = sqltext + " and " + usl(i) ELSE sqltext = sqltext + usl(i) k=.T. ENDIF ENDIF ENDFOR &sqltext Насчет ошибки все просто - Фокс не может выполнить созданный программой запрос. Я бы сделал следующее: - вывел текст запроса на экран и визуально проверил его корректность - сохранил текст запроса в переменную и попробовал бы его выполнить из командного окна Фокса - если ошибка все-равно появляется, то переписал бы его "в старой форме", т.е использовал бы не join'ы, а простые "равенства" (where t_adress.id_adress = t_projivaet.id_adress and t_projivaet.id_gitel = t_gitel.id_gitel and ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 11:46 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Содержимое sqltext пустое.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 13:40 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Даже с равенствами не получается. Возможно это всё только из-за того что всё это сохраняется в одну переменную sqltext... А как переписать по-другому-не знаю - я в запросах не понимаю почти ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 13:42 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Ну и что Вы хотите от пустого запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 13:43 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
сам запрос не пуст. Пуста переменная sqltext .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 14:25 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Shunсам запрос не пуст. Пуста переменная sqltext .. Т.е. не сработала команда Код: plaintext Тогда пропустите эту процедуру через дебаггер и посмотрите где, что и как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 14:36 |
|
||
|
Помогите найти ошибку в запросе
|
|||
|---|---|---|---|
|
#18+
Ни фига не пустое! sq = "SELECT t_gitel.Фамилия, t_gitel.имя, t_gitel.отчество, t_gitel.дата_рожд,t_raion.район, t_ulica.улица, t_adress.номер_дома, t_adress.номер_кв, t_adress.телефон " sq = sq + "FROM t_gitel INNER JOIN t_projivaet on t_projivaet.id_gitel = t_gitel.id_gitel " sq = sq + "INNER JOIN t_adress on t_adress.id_adress = t_projivaet.id_adress INNER JOIN t_raion on t_raion.id_raion=t_adress.id_raion INNER JOIN t_ulica on t_ulica.id_ulica = t_adress.id_ulica " sq = sq + "WHERE" k = .F. sqltext = sq ?sqltext Смотри, как у тебя формируется условие WHERE! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2007, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34626243&tid=1589080]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
11ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 184ms |
| total: | 246ms |

| 0 / 0 |
