<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; ADO Recordset, работа и курсоры.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8309&amp;type=atom" />
	<updated>2013-05-23T06:00:51Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8309</id>
		<entry>
			<title type="html"><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72361#p72361" />
			<content type="html"><![CDATA[<p>Сам допетрил)</p><div class="codebox"><pre><code>fio = join(objComGateUsers.Fields(&quot;cn&quot;).value)
WScript.Echo fio</code></pre></div>]]></content>
			<author>
				<name><![CDATA[-Lesnik-]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30163</uri>
			</author>
			<updated>2013-05-23T06:00:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72361#p72361</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72347#p72347" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[-Lesnik-]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30163</uri>
			</author>
			<updated>2013-05-22T11:16:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72347#p72347</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72172#p72172" />
			<content type="html"><![CDATA[<p>Еще раз спасибо за разъяснения, все что нужно было теперь получилось.</p>]]></content>
			<author>
				<name><![CDATA[Hamsterok]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30065</uri>
			</author>
			<updated>2013-05-16T14:37:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72172#p72172</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: ADO Recordset, работа и курсоры.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72140#p72140" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-05-15T18:45:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72140#p72140</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[ADO Recordset, работа и курсоры.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72129#p72129" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hamsterok]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30065</uri>
			</author>
			<updated>2013-05-15T15:09:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72129#p72129</id>
		</entry>
</feed>
