сломал весь мозг ASP->MSSQL

ADVO
Дата: 14.04.2010 11:03:43
Antonariy,
Как нет значений? Вы мой первый пост читали? Строки местами меняешь - появляется значение.
Я же говорю шайтан какой-то.
зы
Дата: 14.04.2010 11:07:14
скорее всего рекордсет настроен так, что читать из него нужно только в порядке появления столбцов в ответе, иначе он возвращает пустоту.
ADVO
Дата: 14.04.2010 11:16:22
зы,
действительно rs("Credits_0") стоит правее чем
rs("PreRequisit_1")
rs("PostRequisit_1")
rs("Description_1")
А где можно посмотреть эти настройки? По сути это обычный проект с общими подключениями и т.д. Именно в этой ASP засада.
Antonariy
Дата: 15.04.2010 14:46:17
Никогда не слышал о таких настройках. rs.Fields это обычная коллекция, ее по идее можно крутить в любую сторону.
Хорошо бы посмотреть на параметры открытия соединения и рекордсета.
зы
Дата: 15.04.2010 14:56:04
Я как-то с ado не очень, но помню что такая тема у него была, возможно даже по дефолту.
Antonariy
Дата: 15.04.2010 16:48:46
По дефолту сильно сомневаюсь, разве что у какого-нибудь экзотического провайдера.
ADVO
Дата: 15.04.2010 19:55:01
Antonariy,
Еще перестает выводить ячейки если просто присвоить переменную перед всем этим.
Например,
ttt=rs("PreRequisit_1")

Но ведь это же абсолютно ничего не меняет. Думал сервер заглючил - домой пришел, бэкап восстановил - тоже самое. Хотя бэкап может какие-то свойства принес.
Подключение:
	Set con=Server.CreateObject("ADODB.Connection")	
	con.CommandTimeout=600
	con.ConnectionTimeout=600
	con.ConnectionString="Driver={SQL Server};Server=.;Database=Controls;"
	con.open	
	Set rs=server.CreateObject("adodb.recordset")'Используется

		sSQL="Controls.dbo.or_get_elective_disciplines '"&nFaculty&"','"&nEduForm&"','"&nCourse&"','"&nStream&"','"&nChair&"','"&nFilter&"','"&nYear&"'"
		exec rs,con_h,sSQL


function exec(byref objRecordset,byref objConnection,strQuery)
	on error resume next
	set objRecordset=objConnection.Execute(strQuery)
	sButtonStyle=" style='background:bisque;border:solid 1 brown;color:brown;cursor:hand;' onmouseover=this.style.background='maroon';this.style.color='bisque' onmouseout=this.style.background='bisque';this.style.color='maroon'"	
	if err.number<>0 then
		sDefaultDatabase=objConnection.DefaultDatabase
		sErrorDesc=""
		sErrorDesc=sErrorDesc&"<center>"
		sErrorDesc=sErrorDesc&"Произошла ошибка при выполнении процедуры:<br>("&sDefaultDatabase&")<br><br>"		
		sErrorDesc=sErrorDesc&"<div style='text-align:left;border-left:solid 10 silver;padding-left:10;'>"&markup(strQuery)&"</div><br>"
		sMessageText="["&sDefaultDatabase&"] "&strQuery
		sErrorDesc=sErrorDesc&"<input type=button value='<<Назад' onclick=history.back() "&sButtonStyle&">"&BSP(2)		
		if ssVisit<>"" then
			sErrorDesc=sErrorDesc&"<input type=button value='Отправить отчет' onclick=location=""..\\SystemSecurity\\message_receiver.asp?Opera=1&Visit="&ssVisit&"&MessageText="&escape(sMessageText)&""";"&sButtonStyle&">"&BSP(2)
		else
			sErrorDesc=sErrorDesc&"<input type=button value='Отправить отчет (mail)' onclick=location=""mailto:andrey@nkzu.edu?cc=nkopeyev@nkzu.edu&bcc=mail@nkzu.edu&subject=Отчет_об_ошибке&body="&escape(sMessageText)&""";"&sButtonStyle&">"&BSP(2)
		end if
		sErrorDesc=sErrorDesc&"<input type=button value='Закрыть' onclick=window.close() "&sButtonStyle&">"&BSP(2)
		sErrorDesc=sErrorDesc&"</center>"
		debug sErrorDesc
	end if
	on error goto 0	
end function
ADVO
Дата: 15.04.2010 19:56:26
exec rs,con,sSQL
зы
Дата: 15.04.2010 20:27:06
ADVO

Еще перестает выводить ячейки если просто присвоить переменную перед всем этим.
Например,
ttt=rs("PreRequisit_1")

Но ведь это же абсолютно ничего не меняет.

Это меняет то, что значение можно прочитать только один раз.
ADVO
Дата: 15.04.2010 22:31:15
зы

Это меняет то, что значение можно прочитать только один раз.

Это логически понятно - но почему? Никогда в ASP с таким не сталкивался.
И пока не сдвинули movenext - раньше пользовался сколько угодно. Может какая-то "экономная" настройка, чтобы уменьшить кол-во обращений к базе?