|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
День добрый форумчане есть приложение,которое использует субд FoxPro. Средствами FoxPro я перенёс таблицы на SQL SERVER 2008 Вот так я подключаюсь к серверу - gn_hndl= SQLSTRINGCONNECT("Driver={SQL Server};Server=(local);Database=MZA;Uid=BraveHeart;Pwd=123;") IF gn_hndl>0 MESSAGEBOX("Соединение установлено") ENDIF Остальной код работы писал не я, сейчас пытаюсь перенести системы на sql server. Вопрос как вот эти строки переписать в использование к sql server?Я так понимаю раз таблицы лежат уже на sql server то ключевое слово use использовать нельзя? SELECT * FROM terminal WHERE terminal.tecn_nom == m.term_numb INTO CURSOR regterm USE IN terminal IF _tally = 1 user_idt = regterm.idt ENDIF USE IN regterm ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 19:07 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
Извините, но появился ещё один вопрос. Использую функцию SQLEXEC() Пишу так: SQLEXEC(gn_hndl,"SELECT * FROM MZA.dbo.kassir where MZA.dbo.kassir==m.user_idk") Как я понимаю результат данного запроса на сервер будет храниться в SQLRESULT, но когда ты переменной присваиваешь, например, ido= SQLRESULT.ido foxpro ругается и пишет,что не может найти SQLRESULT, помогите что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 19:23 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
BraveHeart, задайте явно имя курсора - раз. проверьте значение, возвращаемое функцией склэкзек - два. если оно меньше нуля, то смотрите ошибку с помощью аеррор() - три. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:05 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
Спасибо за ответ,буду раз разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:10 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
BraveHeartПишу так: SQLEXEC(gn_hndl,"SELECT * FROM MZA.dbo.kassir where MZA.dbo.kassir==m.user_idk") Как я понимаю результат данного запроса на сервер будет храниться в SQLRESULT третий параметр SQLEXEC имя курсора куда вернуть результат запроса. BraveHeartно когда ты переменной присваиваешь, например, ido= SQLRESULT.ido foxpro ругается и пишет,что не может найти SQLRESULT, помогите что делать? Что делать? Ошибки обрабатывать. Смотри что вернул SQLEXEC() и AERROR() для уточнения. В твоем случае MS SQL понятия не имеет что такое == и m.user_idk PS Не стоит переводить в лоб (т.е. тупо заменой синтаксиса) файл-сервер в клиент-сервер. Идеология работы разная. Получишь тормозную прогу, в лучшем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:11 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
Спасибо за ответы,сейчас обработав ошибки получил код 1526, получается что-то с соединением? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:31 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
Я так ещё понимаю,то sql server не может разобрать запрос на сравнение для примера вот такой: cmd =SQLEXEC(gn_hndl,"SELECT * FROM MZA.dbo.terminal WHERE MZA.dbo.terminal.tecn_nom == m.term_numb") Подскажите, какие есть способы сделать аналогию этого запроса,спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:38 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
BraveHeartСпасибо за ответы,сейчас обработав ошибки получил код 1526, получается что-то с соединением?Нет, не получается. Это говорит об ошибке на сервере. Как уже было указано, использовать Aerror() для получения текста серверных ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:46 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
BraveHeartЯ так ещё понимаю,то sql server не может разобрать запрос на сравнение для примера вот такой: cmd =SQLEXEC(gn_hndl,"SELECT * FROM MZA.dbo.terminal WHERE MZA.dbo.terminal.tecn_nom == m.term_numb") Подскажите, какие есть способы сделать аналогию этого запроса,спасибо. Сообщение об ошибке читай: Код: sql 1. 2. 3. 4. 5. 6.
я уже писал: MSSQL не имеет понятия об операции == там просто = и переменная m.term_numb это внутрифоксовая переменная. ее надо по значению передавать. как-то так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:47 |
|
перенос foxpro на клиент сервер.
|
|||
---|---|---|---|
#18+
BraveHeartЯ так ещё понимаю,то sql server не может разобрать запрос на сравнение для примера вот такой: cmd =SQLEXEC(gn_hndl,"SELECT * FROM MZA.dbo.terminal WHERE MZA.dbo.terminal.tecn_nom == m.term_numb")Таки может, надо только правильно все делать.Подскажите, какие есть способы сделать аналогию этого запроса,спасибо. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 20:48 |
|
|
start [/forum/topic.php?fid=41&fpage=41&tid=1583037]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 403ms |
0 / 0 |