powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с проблемой
10 сообщений из 10, страница 1 из 1
Помогите с проблемой
    #32408053
rusql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю в чем дело?
SQLEXEC выполняет только Select.
Update, Insert, Create Table - не выполняются.

Подключаюсь так:
STORE SQLCONNECT('SQL', 'Sa', 'Sa') TO SqlServ

Это не помогает:
= SQLSETPROP(SqlServ, 'Transactions', 2)
= SQLCOMMIT(SqlServ)
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32408077
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь идет о MS SQL, то проверь права на выполнение операций модификации в самой базы (Permission). Может у тебя права только на чтение.

А подробную информацию об ошибке можешь получить по AERROR()

Код: plaintext
1.
2.
3.
4.
IF SQLExec(SqlServ, "..." )< 0 
	LOCAL laError( 1 )
	=AERROR(laError)
	MessageBox( "Ошибка " +STR(laError[ 5 ])+chr( 13 )+laError[ 2 ])
ENDIF
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32408828
rusql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое пасибо.
Теперь получилось, а во почему не хочет из массива или например из переменных памяти:

Sele Sales
Scatter Memvar
lSQL = "INSERT INTO SalesF From Memvar"
= SQLExec(SqlServ,lSQL)
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32408842
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что в функцию sqlexec нужно переданать операторы SQL, которые поддерживаются удаленой БД. Что-то я не припомню массивов в MS SQL.
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32409092
rusql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. прийдется к примеру вот такую колбасу руками писать:

Scatter Memvar
lSQL = "Delete From Sales Where Str(Month(Date))="+"'"+Str(Month(m.Date))+"'"+" and Str(Year(Date))="+"'"+Str(Year(m.Date))+"'"
....
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32409116
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2rusql

Да нет, колбаса может быть попроще:
Код: plaintext
1.
2.
lSQL =  "Delete From Sales Where Date=?m.Date" 
*!* или
 "Delete From Sales Where Date='"+DTOS(m.Date)+"'" 
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32409131
rusql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет у меня был только месяц и год.
А вообще к примеру если таблица с кучей полей и необходимо заполнить ее из аналогичной фоксовой DBFки - получается нужноь городить длинющий паравоз равный количеству полей с указаним всех форматов?
Или можно проще?
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32409155
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Нет у меня был только месяц и год.

Извини, не заметил.. Тогда в принципе правильно..

> А вообще к примеру если таблица с кучей полей и необходимо заполнить ее из аналогичной фоксовой DBFки - получается нужноь городить длинющий паравоз равный количеству полей с указаним всех форматов?
Или можно проще?


Нет, можно сделать вьюху (результат запроса, в данном случае) обновляемой и использовать APPEND FROM. Здесь уже обсуждалось, попробуй поиск по форуму (я бы кинул ссылки, но у меня сейчас нет времени)
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32409238
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rusql

Ты видимо не заметил первый вариант предложенный NNN с параметрами:

Код: plaintext
1.
2.
3.
4.
5.
Scatter Memvar 
LOCAL lnMonth, lnYear
lnMonth=Month(m.Date)
lnYear=Year(m.Date)
lSQL =  "Delete From Sales Where DatePart(Month,Date)=?m.lnMonth and DatePart(Year,Date)=?m.lnYear"  
=SQLExec(SqlServ,m.lSQL)


Вопросительный знак указывает на то, что далее следует переменная памяти FoxPro. Она используется как параметр и конвертация в нужный формат автоматически. Не надо конвертировать в строку.

Здесь я использовал функцию DatePart() из MS SQL. Не знаю, какой у тебя сервер.
...
Рейтинг: 0 / 0
Помогите с проблемой
    #32412110
rusql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь! Все получилось.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с проблемой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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