Stored procedures 经典的asp ado存储过程根据选择顺序删除字段

Stored procedures 经典的asp ado存储过程根据选择顺序删除字段,stored-procedures,asp-classic,ado,Stored Procedures,Asp Classic,Ado,我必须支持一个经典的asp系统grrr,它根据进程中的最终选择顺序从存储的进程返回空值。 我试图通过摇动选择顺序来解决这个问题,直到我得到一个适用于每个领域的顺序。。。不幸的是,现在它决定在不同的机器上进行不同的工作 相当基本的asp: ' ORDER ITEMS sSQL = "ProcName " & Order_ID Dim iRowCount : iRowCount = 0 set objConn = Server.CreateObject("ADODB.Connection"

我必须支持一个经典的asp系统grrr,它根据进程中的最终选择顺序从存储的进程返回空值。 我试图通过摇动选择顺序来解决这个问题,直到我得到一个适用于每个领域的顺序。。。不幸的是,现在它决定在不同的机器上进行不同的工作

相当基本的asp:

' 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使用的、游标和最终选择进行了大量处理:

SELECT  DispatchDate, ProposedDispatchQty, ...
FROM    @OrderItems     
如果我更改select的顺序,不同的字段将从ado中消失-它们仍然存在于.net和sql management studio中。我不能得到任何一致性,关于哪一个原因,似乎有很多,我会尝试20种不同的组合,得到20种不同的空白

我猜ado在某个地方悄无声息地爆炸了,也许是在处理约会?。有没有人对保持一致性有什么好的建议?除了用c重写它之外


提前干杯-谢恩:

我过去在处理ntext专栏时已经遇到过这种问题。我必须最后选择ntext列,这样就可以了。更改连接字符串也会有所帮助


检查这个问题,与您的问题完全相同:

您能澄清一下:您能将进程更改为返回0而不是空值吗?为什么不检查字段是否为空:如果不是isnullrsQuantityRequired,那么…我想你没有抓住要点-那里有数据配置文件sql-在mgmt studio中运行,但后来被删除了?ado.Ok我放弃了-尝试重命名页面上的所有变量,以防出现某种范围问题-没有更改,所以我删除了我需要的程序,复制到一个新的页面,瞧!问题消失了!Thx为-no ntext列varcharmax可能是最接近的,但它使用的是ODBC。我会把它放回断开并测试连接。我也有一个文本列。如果ASP以正确的顺序访问记录集字段(最后一次访问文本),则无需更改SELECT中列的顺序即可通过。奇怪的