powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возврат значения из SQL через RS
2 сообщений из 2, страница 1 из 1
Возврат значения из SQL через RS
    #33068571
almmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа на Visual Basic
SQL Server 2000


Вопрос:

Если в программе не выполнять блок номер 1, то блок номер 2 работает :
tmpNewId_PAC = tmprs.Fields("ID_PAC")
эта команда отрабатывает правильно.


Но если сначала выполняется блок номер 1, то на этой строке программа вылетает по ошибке, как будто не возвращается поле ID_PAC в RS.
В чем дело ?


'----начало----------- БЛОК НОМЕР 1-----------------------------------------
str_ = str_ + " SET NOCOUNT ON UPDATE BRON_MTD "
str_ = str_ +" SET in_met='" + new_mtd_pato_inmet(iii) + "'"
str_ = str_ + " where ID_BRON= " + str(sel_f_bron.rs_bron_sel.Fields("ID_BRON"))
str_ = str_ + " and IN_MET='" + old_mtd_pato_inmet(iii) + "'"

'' -- начало--- Выполнение --------
cn.BeginTrans
cn.Execute (str_)
If cn.Errors.Count = 0 Then
cn.CommitTrans
sel_f_bron.rs_bron_sel.Requery
MsgBox ("Успешно сохранено")
Else
cn.RollbackTrans
otv = MsgBox("Запись не произошла, возможно есть ошибки")
End If
'--- КОНЕЦ------------ БЛОК НОМЕР 1-------------------------------------


'----------- БЛОК номер 2 -----------------------
поле ID_pac в таблице Pacients - identity
str=" SET NOCOUNT ON
declare @newId_pac as int
INSERT INTO pacients(id_bron,id_reg,nomIBM, ... )
VALUES(1042,2,Null, )
set @newId_pac = SCOPE_IDENTITY() "

cn.BeginTrans
Set tmprs = cn.Execute(str_sql)

If cn.Errors.Count = 0 Then
cn.CommitTrans
''---- Определить внесенный ID_PAC ------'

tmpNewId_PAC = tmprs.Fields("ID_PAC") !!! ЗДЕСЬ ОШИБКА !!!!!!!!!!!!!!


Set tmprs = Nothing
endif
'----------- БЛОК номер 2 -----------------------
...
Рейтинг: 0 / 0
Возврат значения из SQL через RS
    #33069116
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя запрос ничего не возвращает - никакого рекордсета!

должно быть что-то вроде этого:


Код: plaintext
1.
2.
3.
INSERT...
...
set nocount off
select * from pacients
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возврат значения из SQL через RS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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