|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
Люди не могу понять в чем проблема. Есть кусок кода: Set rsListGoods = Server.CreateObject("ADODB.Recordset") SQLQuery = "exec sp " & Make_Search_Parameters() Response.Write(SQLQuery) rsListGoods.CursorType = 3 rsListGoods.Open SQLQuery, strBaseConn If rsListGoods.RecordCount > 0 Then rsListGoods.PageSize = 20 rsListGoods.AbsolutePage = Page Так вот, rsListGoods.RecordCount возвращает -1 . Хранимая процедура возвращает более 500 записей (проверено). Так вопрос почему возвращается -1? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 11:43 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
потому что ты используешь подключение, которое не поддерживает recordcountю это по-моему от блокировки записей зависит. то есть тебе нужно свйоство locktype у recordset проинициализировать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 12:06 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
Использование rsListGoods.Open SQLQuery, strBaseConn 3,1 что в принципе логично, не приводит ни к какому результату RecordCount как был -1 так и остался, изменение типа locktype так же без результатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 12:11 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
пишу по памяти rsListGoods.Open SQLQuery, strBaseConn 3,3,1 - это не поможет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 12:14 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
в MSDN вот такой пример есть, например ' open recordset with data from Publishers table Set rstPublishers = New ADODB.Recordset SQLPublishers = "publishers" rstPublishers.Open SQLPublishers, strCnxn, adOpenStatic, , adCmdTable intPublisherCount = rstPublishers.RecordCount ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 12:18 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
тем более что проверку на наличие строк в запросе If rsListGoods.RecordCount > 0 Then rsListGoods.PageSize = 20 лучше заменить . тут два варианта есть 1. использовать свойства EOF BOF. если они обе равны true то запрос возвратил пустое множество 2. количество обработанных строк можно получить из хранимой процедуры, если написать select @@rowcount, или возвратить это число через output параметр процедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 12:22 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
Дело все в том что все работало, но тогда там стояла SQL запрос, а при подстановки хранимой процедуры (возвращаемые данные идентичны) RecordSet не определяет кол-во записей, а переделывать придется ограмное файло. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 14:36 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
между прочим exec sp - это же sql запрос. вот было бы просто sp - тогда другое дело. а в общем можно что - вызывать в качестве запроса sp с параметрами, в качестве commandtype указывать процедуру, и коллекцию параметров в recordset создать нужно. короче - сделайте так, как написано в примерах msdn ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 15:08 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
Сделал, все равно выдает RecordCount = -1. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 15:40 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
кстати, с recordcount еще одна особенность - какой провайдер для баз данных используете ? sqloledb нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 06:26 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
Так у меня именно sqloledb и используется. Причем фишка, если просто наменить строку запроса на Select, а не на выполнение хранимой процедуры, все работает и определяется, но мне нужно именно выполнять хранимую. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 14:30 |
|
Помогите разобраться с RecordSet
|
|||
---|---|---|---|
#18+
set nocount on ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2003, 21:40 |
|
|
start [/forum/topic.php?fid=18&fpage=1043&tid=1396146]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 133ms |
0 / 0 |