<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; ADO Recordset, работа и курсоры.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8309</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8309&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «ADO Recordset, работа и курсоры.».]]></description>
		<lastBuildDate>Thu, 23 May 2013 06:00:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72361#p72361</link>
			<description><![CDATA[<p>Сам допетрил)</p><div class="codebox"><pre><code>fio = join(objComGateUsers.Fields(&quot;cn&quot;).value)
WScript.Echo fio</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (-Lesnik-)]]></author>
			<pubDate>Thu, 23 May 2013 06:00:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72361#p72361</guid>
		</item>
		<item>
			<title><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72347#p72347</link>
			<description><![CDATA[<p>С разрешения автора продолжу задавать нубские вопросы:</p><p>Есть такой код<br /></p><div class="codebox"><pre><code>&#039;коннектимся к ComGate
objComGateCommand.CommandText =  &quot;&lt;LDAP://&quot; &amp; strComGateServerIP &amp; &quot;:&quot; &amp; strComGatePort &amp; &quot;/&quot; &amp; _
strComGateBeseDN &amp; &quot;&gt;;&quot; &amp; strComGateFilter &amp;  &quot;;uid,cn,telephoneNumber;subtree&quot;

Set objComGateUsers = objComGateCommand.Execute

WScript.Echo objComGateUsers.RecordCount

Do Until objComGateUsers.EOF
    If IsArray(objComGateUsers.Fields(0).value) Then
        WScript.Echo objComGateUsers.Fields(&quot;cn&quot;).name
    end if
    &#039;WScript.Echo objComGateUsers.Fields(&quot;uid&quot;).Value
    &#039;WScript.Echo objComGateUsers.Fields(&quot;cn&quot;).Value

objComGateUsers.MoveNext
Loop</code></pre></div><p>Вот эта запись дает<br /></p><div class="codebox"><pre><code>    &#039;WScript.Echo objComGateUsers.Fields(&quot;uid&quot;).Value</code></pre></div><p> такую ошибку<br /></p><div class="codebox"><pre><code>Ошибка: Несоответствие типа</code></pre></div><p>Насколько я понимаю там возвращается массив.<br />Как мне к нему обратиться? И если не массив, то как добраться то внутренностей?</p><p>З.Ы.<br />На пхп этот код у меня выглядит так:<br /></p><div class="codebox"><pre><code>echo $user[$i][$v][0];</code></pre></div><p>Где $i - номер записи, $v - имя атрибута<br />На VB никогда не писал.</p>]]></description>
			<author><![CDATA[null@example.com (-Lesnik-)]]></author>
			<pubDate>Wed, 22 May 2013 11:16:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72347#p72347</guid>
		</item>
		<item>
			<title><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72172#p72172</link>
			<description><![CDATA[<p>Еще раз спасибо за разъяснения, все что нужно было теперь получилось.</p>]]></description>
			<author><![CDATA[null@example.com (Hamsterok)]]></author>
			<pubDate>Thu, 16 May 2013 14:37:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72172#p72172</guid>
		</item>
		<item>
			<title><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72140#p72140</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Изначально курсор выставляется в самый левый верхний угол</p></blockquote></div><p>Неверная трактовка. Лева и права в наборе записей нет. Есть только первая запись, последняя, текущая.</p><div class="quotebox"><blockquote><p>а Record.Fields это записи в колонках.</p></blockquote></div><p>Только не записи (запись — это как раз вся строка целиком), а поля. Доступ есть только к полям текущей записи.</p><div class="quotebox"><blockquote><p>А теперь мне надо посмотреть, сколько в этой колонке городов с названием&nbsp; &quot;City10&quot; .</p></blockquote></div><p>Быстрее и проще выполнить ещё один запрос с условием. Либо воспользоваться фильтрацией, если провайдер позволяет.</p><div class="quotebox"><blockquote><p>Указанный выше код не работает, как исправить, и вообще правильно ли я понимаю работу объекта?</p></blockquote></div><p>Нет, неправильно.</p><div class="codebox"><pre><code>iCount = 0;
while (!Record.EOF) {
    If(Recordset.Fields.Item(&quot;CityID&quot;).Value == &quot;City10&quot;) {
        iCount+=1;
    } 
    
    Record.MoveNext;
}

Wscript.Echo(iCount);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 15 May 2013 18:45:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72140#p72140</guid>
		</item>
		<item>
			<title><![CDATA[ADO Recordset, работа и курсоры.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72129#p72129</link>
			<description><![CDATA[<p>Продолжая цепочку нубских вопросов прошу помочь разобраться с объектом Recordset.<br /></p><div class="codebox"><pre><code> 
var Record = new ActiveXObject(&quot;ADODB.Recordset&quot;);
 var sh = new ActiveXObject(&quot;WScript.Shell&quot;);
 Record.ActiveConnection = &quot;Provider=SQLOLEDB;Data Source=.\\SQLEXPRESS;Initial Catalog=BarcodeToCity;User ID=sa;Password=111;&quot;;
 Record.Source = (&quot;SELECT CityID FROM exporttable&quot;)
 Record.Open();
 while (Record.EOF==false) {
 for(var i=0; Record.Fields.Count-1; i++){
 if(Recordset.Fields(i).Value == &quot;City10&quot;){
 Wscript.Echo(i);} 
 }
Record.MoveNext;
 }
   </code></pre></div><p>На сколько я понимаю, объект должен сохранять в себя результат запроса в том виде, в котором нам бы его выдала БД, тоесть в виде таблички. Изначально курсор выставляется в самый левый верхний угол и после MoveNext опускается на ступеньку вниз , а Record.Fields это записи в колонках. </p><p>Мне интересно: Мы, например сделали запрос, который достает целую колонку с названием городов(могут повторяться) &quot;SELECT CityID FROM exporttable&quot;&nbsp; А теперь мне надо посмотреть, сколько в этой колонке городов с названием&nbsp; &quot;City10&quot; .&nbsp; <br />Указанный выше код не работает, как исправить, и вообще правильно ли я понимаю работу объекта?<br />Очень был бы признательный за объяснения, не то описания чистых манов мне немного не достаточно(</p>]]></description>
			<author><![CDATA[null@example.com (Hamsterok)]]></author>
			<pubDate>Wed, 15 May 2013 15:09:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72129#p72129</guid>
		</item>
	</channel>
</rss>
