классический asp ado для хранимых процедур отбрасывает поля в зависимости от выбранного порядка - PullRequest
0 голосов
/ 21 января 2011

Я должен поддерживать классическую систему asp (grrr), где она возвращает нули из сохраненного процесса в зависимости от окончательного порядка выбора в процессе. Мне удавалось справиться с этим, просто покачивая выбор, пока я не получил тот, который работал для каждой области ... К сожалению, теперь он решил по-разному работать на разных машинах.

довольно простой жерех:

' ORDER ITEMS
sSQL = "ProcName " & Order_ID

Dim iRowCount : iRowCount = 0
set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("admin_ConnectionString") 

set rs = objConn.execute(sSQL)

if not rs.eof then
    ' Just doing this set thing to try and stop stupid ADO dropping fields !!
    ' The final select in the proc decides whether things will appear or disappear...
    set iQtyRequired = rs("QuantityRequired")

do until rs.eof 
   iQtyOutstanding  = iQtyRequired - iQtyFulfilled

SQL имеет достаточный объем обработки WITH, курсора и окончательного выбора:

SELECT  DispatchDate, ProposedDispatchQty, ...
FROM    @OrderItems     

Если я изменю порядок выбора, другие поля «исчезнут» из ado - они все еще есть в .net и sql management studio. Я не могу понять, какая из причин его вызывает, кажется, много, я попробую 20 разных комбинаций, получу 20 разных комплектов заготовок.

Полагаю, ado взорвется где-то тихо внутри (возможно, обработка даты?). Кто-нибудь получил хорошие предложения для получения последовательности? (кроме переписывания в c #)

Приветствия заранее - Шейн:)

1 Ответ

1 голос
/ 24 января 2011

Я уже сталкивался с подобной проблемой в прошлом при работе со столбцами ntext. Я должен был выбрать столбец ntext последним, и это сделало бы работу. Изменение строки подключения также может помочь.

Проверьте этот вопрос, точно такая же проблема, как у вас: Текстовый столбец SQL Server влияет на результаты, возвращаемые в классический ASP

...