Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возврат значения из SQL через RS / 2 сообщений из 2, страница 1 из 1
17.05.2005, 07:52:34
    #33068571
almmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат значения из SQL через RS
Программа на 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
17.05.2005, 12:10:31
    #33069116
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат значения из SQL через RS
у тебя запрос ничего не возвращает - никакого рекордсета!

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


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


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