![]() |
![]() |
![]() |
|
Из 8 работать с базой SQL не 1с - как? | ☑ | ||
---|---|---|---|---|
0
mdv92
19.11.10
✎
15:26
|
Подключиться уже удалось! Где бы взять набор основных функций?
|
|||
1
eklmn
гуру
19.11.10
✎
15:32
|
че сказал - сам сказал
|
|||
2
ДенисЧ
19.11.10
✎
15:34
|
смотря как подключаешься...
|
|||
3
Оболтус
19.11.10
✎
15:36
|
В справочнике по T-SQL?
|
|||
4
mdv92
19.11.10
✎
15:57
|
Я слов не знаю волшебных!
Пока ЗаписиSQL.EOF=0 Цикл // Заполнение созданной таблицы НоваяСтрока = Таблица.Добавить(); Для НомерСтолбца = 0 По ЗаписиSQL.Fields.Count-1 Цикл НоваяСтрока.Установить(НомерСтолбца,ЗаписиSQL.Fields(НомерСтолбца).Value); //Сообщить ("Test " + ЗаписиSQL.Fields(ИмяСтолбца).Value + ИмяСтолбца); КонецЦикла; ЗаписиSQL.MoveNext(); КонецЦикла; Везде один и тот же кусочек! А мне нужен запрос по 2 полям. Как его написать? (если по-русски - выбрать все, у которых статус =1 и Дата>01/01/2010) Это, чтоб считать, а еще - заменить одну "строчку", найденную по ключу - на другую. (ну, или поля в этой записи) И всё!! |
|||
5
КМ155
19.11.10
✎
16:00
|
(4)[Везде один и тот же кусочек! ]
брехло даже на мисте про ADODB всё разжёвано |
|||
6
mdv92
19.11.10
✎
16:01
|
(3) T-SQL - это toy-sql? А он не платный? Надо откуда-то библиотек брать? Может, мне для 2 функций это не надо?
|
|||
7
mdv92
19.11.10
✎
16:01
|
(5) Там написано - доступ к архиву закрыт.
Я видела заманчивый текст в яндексе! Но ссылка не работает. |
|||
8
Жан Пердежон
19.11.10
✎
16:02
|
(6) гугл открой что ли для разнообразия
|
|||
9
КМ155
19.11.10
✎
16:05
|
(7) развод
|
|||
10
mdv92
19.11.10
✎
16:05
|
По форуму тяженло искать, птому что находишь кучу вопросов - без ответа. Или в конце - "да, я сам разобрался!"
|
|||
11
andrey153
19.11.10
✎
16:09
|
Select <field1>, <field2> From Table1
:) |
|||
12
mdv92
19.11.10
✎
16:11
|
(11) Мне так мало надо, что осталось это чуть-чуть разжевать, и заработает!
Выбрать мне надо все поля по 2 условиям. Это как? И что я получу в тоге? Кда надо поместить результат запроса? |
|||
13
Живой Ископаемый
19.11.10
✎
16:13
|
2(10) " Или в конце - "да, я сам разобрался!"" - это обычно происходит после того как они наконец открывают книгу или гугл...
|
|||
14
mdv92
19.11.10
✎
16:15
|
ТекстСелект = "SELECT НомерСчета,ДатаВыписки,КодКлиента, count(*) FROM ппп GROUP BY НомерСчета,ДатаВыписки,КодКлиента";
НаборЗаписей = Новый COMОбъект("ADODB.RecordSet"); Попытка НаборЗаписей=MBD.Execute(ТекстСелект); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Попытка НаборЗаписей.MoveFirst(); Исключение //табилца пустая Сообщить(ОписаниеОшибки()); НаборЗаписей.Close(); Возврат; КонецПопытки; Пока НаборЗаписей.EOF()=0 цикл Дата = Строка(НаборЗаписей.Fields("ДатаВыписки").Value); КодЗаказа = Строка(НаборЗаписей.Fields("НомерСчета").Value); КодКлиента = Строка(НаборЗаписей.Fields("КодКлиента").Value); Где-то нашла! Смущает только то, что перед текстом задан вопрос - "А почему это у меня не работает? |
|||
15
mdv92
19.11.10
✎
16:19
|
Думаю, что с этим кусочком я разберусь.
Всё понятно, кроме запроса. Значения для отбора там есть? Пока совсем непонятно, как в базе заменить строку на другую (значения в ней) |
|||
16
hhhh
19.11.10
✎
16:20
|
(9) не, без дураков, чего-то сегодня архив закрыт.
|
|||
17
Diabolicum 1C
19.11.10
✎
16:22
|
(0) Кури T-SQL (Transact SQL). Без знания языка запросов, ни о каких ADODB и речи быть не может
|
|||
18
mdv92
19.11.10
✎
16:24
|
(17) Мне пока очень мало надо.
А будет надо больше - обязательно начну курить! |
|||
19
КМ155
19.11.10
✎
16:24
|
(17) не факт
у оракла или MySql нет T-SQL |
|||
20
Diabolicum 1C
19.11.10
✎
16:25
|
(19) Согласен. Но как мне кажется речь все таки идет о MS SQL. Хотя я конечно могу и ошибаться:)
Но синтаксис запроса выборки данных знать нужно по-любому:) |
|||
21
shishkin1966
19.11.10
✎
16:27
|
могу кучу такого же добра кинуть
// Функция выполняет SQL запрос без параметров и возвращает Таблицу Значений Function Выполнить_Запрос_SQL(val ТекстЗапроса,Connection,Transactional) export ТаблицаЗначенийРезультата = Новый ТаблицаЗначений; if isnull(ТекстЗапроса) or isnull(Connection) then return ТаблицаЗначенийРезультата; endif; try ADODBError = false; Cmd = Новый COMОбъект("ADODB.Command"); Cmd.ActiveConnection = Connection; Cmd.CommandText = ТекстЗапроса; if isnull(Cmd.CommandType) then Cmd.CommandType = КонстантаCommandType("adCmdUnknown"); endif; RecordSet = Новый COMОбъект("ADODB.RecordSet"); if Transactional then Connection.Execute("BEGIN TRANSACTION"); Connection.Execute("set implicit_transactions off"); endif; RecordSet = Cmd.Execute(); //Выполнение и получение набора данных if Transactional then Connection.Execute("Commit"); endif; if RecordSet.State = 1 then // заполняем ТЗ for i = 0 to RecordSet.Fields.Count - 1 do //Создание и добавление колонок ColumnName = RecordSet.Fields.Item(i).Name; ColumnType = GetTypeColumn(RecordSet.Fields.Item(i).Type,RecordSet.Fields.Item(i).ActualSize); if isnull(ColumnType) then ТаблицаЗначенийРезультата.Колонки.Добавить(ColumnName); else ТаблицаЗначенийРезультата.Колонки.Добавить(ColumnName,ColumnType); endif; enddo; while RecordSet.EOF = 0 do // Заполнение созданной таблицы НоваяСтрока = ТаблицаЗначенийРезультата.Добавить(); for НомерСтолбца = 0 По RecordSet.Fields.Count - 1 do НоваяСтрока.Установить(НомерСтолбца,RecordSet.Fields(НомерСтолбца).Value); enddo; RecordSet.MoveNext(); enddo; RecordSet.close(); endif; Cmd = NULL; RecordSet = NULL; except ADODBError = true; if Transactional then RollbackSQLTransaction(Connection); endif; Предупреждение("Невозможно выполнить запрос: "+ТекстЗапроса+". " + ОписаниеОшибки(),0,"Внимание !"); Message("Невозможно выполнить запрос: "+ТекстЗапроса); endtry; return ТаблицаЗначенийРезультата; endfunction Function Выполнить_Запрос_SQL_Результат(val ТекстЗапроса,Connection,Transactional) export ТЗ = Выполнить_Запрос_SQL(ТекстЗапроса,Connection,Transactional); if ТЗ.count() <> 1 then return NULL; endif; return ТЗ.ВыгрузитьКолонку(0)[0]; endfunction Function Выполнить_Запрос_SQL_RS(val ТекстЗапроса,Connection) export RS = Новый COMОбъект("ADODB.RecordSet"); try ADODBError = false; RS.Open(ТекстЗапроса,Connection,2,3,1); except ADODBError = true; Предупреждение("Невозможно выполнить запрос: "+ТекстЗапроса+". " + ОписаниеОшибки(),0,"Внимание !"); Message("Невозможно выполнить запрос: "+ТекстЗапроса); endtry; return RS; endfunction // Функция выполняет SQL запрос с параметрами и возвращает Таблицу Значений Function Выполнить_Запрос_SQL_Параметры(val ТекстЗапроса,Connection,Параметры) export ТаблицаЗначенийРезультата = Новый ТаблицаЗначений; if isnull(ТекстЗапроса) or isnull(Connection) then return ТаблицаЗначенийРезультата; endif; try ADODBError = false; Cmd = Новый COMОбъект("ADODB.Command"); Cmd.ActiveConnection = Connection; Cmd.CommandText = ТекстЗапроса; if isnull(Cmd.CommandType) then Cmd.CommandType = КонстантаCommandType("adCmdUnknown"); endif; if Параметры.Count() > 0 then ПараметрЗапроса = Новый COMОбъект("ADODB.Parameter"); for each КлючИЗначение in Параметры do if isnull(КлючИЗначение.Значение) then Cmd = NULL; return ТаблицаЗначенийРезультата; endif; P = ParameterADO(КлючИЗначение); ПараметрЗапроса = Cmd.CreateParameter(P.Name,P.Type,P.Direction,P.Size,P.Value); Cmd.Parameters.Append(ПараметрЗапроса) enddo; endif; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Cmd.Execute(); //Выполнение и получение набора данных // заполняем ТЗ if RecordSet.State = 1 then for i = 0 to RecordSet.Fields.Count - 1 do //Создание и добавление колонок ColumnName = RecordSet.Fields.Item(i).Name; ColumnType = GetTypeColumn(RecordSet.Fields.Item(i).Type,RecordSet.Fields.Item(i).ActualSize); if isnull(ColumnType) then ТаблицаЗначенийРезультата.Колонки.Добавить(ColumnName); else ТаблицаЗначенийРезультата.Колонки.Добавить(ColumnName,ColumnType); endif; enddo; while RecordSet.EOF = 0 do // Заполнение созданной таблицы НоваяСтрока = ТаблицаЗначенийРезультата.Добавить(); for НомерСтолбца = 0 По RecordSet.Fields.Count - 1 do НоваяСтрока.Установить(НомерСтолбца,RecordSet.Fields(НомерСтолбца).Value); enddo; RecordSet.MoveNext(); enddo; RecordSet.close(); endif; Cmd = NULL; RecordSet = NULL; except ADODBError = true; Предупреждение("Невозможно выполнить запрос: "+ТекстЗапроса+". " + ОписаниеОшибки(),0,"Внимание !"); Message("Невозможно выполнить запрос: "+ТекстЗапроса); endtry; return ТаблицаЗначенийРезультата; endfunction |
|||
22
КМ155
19.11.10
✎
16:29
|
(20)[Но синтаксис запроса выборки данных знать нужно по-любому]
если в запросе нет дат и джойнов то синтаксис универсален: Select From Where но у ТС есть дата, тут и сказочке конец |
|||
23
Diabolicum 1C
19.11.10
✎
16:33
|
(22) ну форматнуть дату и задать в качестве текста в запрос
|
|||
24
mdv92
19.11.10
✎
16:43
|
(21) спасибо! И главеное, нет приписки, что не работает!
|
|||
25
Невский Александр
19.11.10
✎
16:47
|
(21) хорошая вещь :)
|
|||
26
shishkin1966
19.11.10
✎
16:50
|
убери все неизвестные функции и вперед. Если надо дам оставшиеся функции типа IsNULL и прочее. Если надо - давай мыло - скину все функции.
|
|||
27
shishkin1966
19.11.10
✎
16:53
|
у меня живой редактор табличного поля с добавлением/удалением записей на ADO сделан.
http://infostart.ru/public/75151/ |
|||
28
КМ155
19.11.10
✎
16:53
|
(23)[ну форматнуть дату]
у mdb будут # у MS SQL будут / у MySql точки и обратный порядок |
|||
29
mdv92
19.11.10
✎
16:54
|
Выбираю нужное из 21!
ТекстЗапроса="Select * from TRESERV where status=0 or status=1"; Cmd = Новый COMОбъект("ADODB.Command"); Cmd.ActiveConnection = Connection; Cmd.CommandText = ТекстЗапроса; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Cmd.Execute(); Пока RecordSet.EOF()=0 цикл КодЗаказа = Строка(RecordSet.Fields("НомерСчета").Value); КонецЦикла; |
|||
30
mdv92
19.11.10
✎
16:55
|
mdv92@mail.ru
А в том, что я выбала (29) уже ничего лишнего нет? Мне нужно оба COMОбъект? |
|||
31
МихаилМ
19.11.10
✎
16:58
|
(21)
обработчик ошибок - отварительный и источник ошибок сам по себе. глупо весь код в try exept засовывать какая ошибка произошла - не поймешь и не локализаешь. тем более с предупреждением в exept. (а если код на сервере выполняется ) нетипизорованые столбцы в ТЗ - тоже мерзость и халтура. |
|||
32
shishkin1966
19.11.10
✎
16:59
|
это должно работать
но с такими преобразованиями надо быть осторожно типы ADO и 1С не совпадают !!! КодЗаказа = Строка(RecordSet.Fields("НомерСчета").Value); сейчас кину модуль - все нужные функции вытащите |
|||
33
МихаилМ
19.11.10
✎
17:00
|
+(31) отчасти поэтому я код и не даю.
чтоб всякие не критпковали. |
|||
34
shishkin1966
19.11.10
✎
17:00
|
письмо ушло
|
|||
35
shishkin1966
19.11.10
✎
17:05
|
(31) в try вываливается по первой же ошибке. На сервер не передашь "ругательное" слово (никак его не запомню, те которые меняются) параметров. И зачем мне его выполнять данную функцию на сервере ? Кто скажет - все равно результат тащить на клиента. Зачем она нужна на сервере?
|
|||
36
Diabolicum 1C
19.11.10
✎
17:07
|
(28) Естественно, но вряд ли стоит задача написать универсальное решение для любой БД. А под конкретную СУБД дату можно отформатировать соответственно с требованиями
|
|||
37
Живой Ископаемый
19.11.10
✎
17:08
|
мутабельный? как это можно не запомнить?
|
|||
38
mdv92
19.11.10
✎
17:08
|
(34) Спасибо!
|
|||
39
IKSparrow
19.11.10
✎
17:09
|
(16) Архив будет платным.
|
|||
40
mdv92
19.11.10
✎
17:09
|
(33) Как известно, ни одно доброе дело не остается безнаказанным.
|
|||
41
shishkin1966
19.11.10
✎
17:11
|
(31) и кстати если можете дайте полный список типов ADO <-> 1С
Field Type - DataTypeEnum Specifies the data type of a Field, Parameter, or Property. The corresponding OLE DB type indicator is shown in parentheses in the description column of the following table. For more information about OLE DB data types, see Chapter 13: Data Types in OLE DB and Appendix A: Data Types of the OLE DB Programmer's Reference. Constant Value Description AdArray (Does not apply to ADOX.) 0x2000 A flag value, always combined with another data type constant, that indicates an array of that other data type. adBigInt 20 Indicates an eight-byte signed integer (DBTYPE_I8). adBinary 128 Indicates a binary value (DBTYPE_BYTES). adBoolean 11 Indicates a boolean value (DBTYPE_BOOL). adBSTR 8 Indicates a null-terminated character string (Unicode) (DBTYPE_BSTR). adChapter 136 Indicates a four-byte chapter value that identifies rows in a child rowset (DBTYPE_HCHAPTER). adChar 129 Indicates a string value (DBTYPE_STR). adCurrency 6 Indicates a currency value (DBTYPE_CY). Currency is a fixed-point number with four digits to the right of the decimal point. It is stored in an eight-byte signed integer scaled by 10,000. adDate 7 Indicates a date value (DBTYPE_DATE). A date is stored as a double, the whole part of which is the number of days since December 30, 1899, and the fractional part of which is the fraction of a day. adDBDate 133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE). adDBTime 134 Indicates a time value (hhmmss) (DBTYPE_DBTIME). adDBTimeStamp 135 Indicates a date/time stamp (yyyymmddhhmmss plus a fraction in billionths) (DBTYPE_DBTIMESTAMP). adDecimal 14 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_DECIMAL). adDouble 5 Indicates a double-precision floating-point value (DBTYPE_R8). adEmpty 0 Specifies no value (DBTYPE_EMPTY). adError 10 Indicates a 32-bit error code (DBTYPE_ERROR). adFileTime 64 Indicates a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (DBTYPE_FILETIME). adGUID 72 Indicates a globally unique identifier (GUID) (DBTYPE_GUID). adIDispatch 9 Indicates a pointer to an IDispatch interface on a COM object (DBTYPE_IDISPATCH). Note This data type is currently not supported by ADO. Usage may cause unpredictable results. adInteger 3 Indicates a four-byte signed integer (DBTYPE_I4). adIUnknown 13 Indicates a pointer to an IUnknown interface on a COM object (DBTYPE_IUNKNOWN). Note This data type is currently not supported by ADO. Usage may cause unpredictable results. adLongVarBinary 205 Indicates a long binary value. adLongVarChar 201 Indicates a long string value. adLongVarWChar 203 Indicates a long null-terminated Unicode string value. adNumeric 131 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC). adPropVariant 138 Indicates an Automation PROPVARIANT (DBTYPE_PROP_VARIANT). adSingle 4 Indicates a single-precision floating-point value (DBTYPE_R4). adSmallInt 2 Indicates a two-byte signed integer (DBTYPE_I2). adTinyInt 16 Indicates a one-byte signed integer (DBTYPE_I1). adUnsignedBigInt 21 Indicates an eight-byte unsigned integer (DBTYPE_UI8). adUnsignedInt 19 Indicates a four-byte unsigned integer (DBTYPE_UI4). adUnsignedSmallInt 18 Indicates a two-byte unsigned integer (DBTYPE_UI2). adUnsignedTinyInt 17 Indicates a one-byte unsigned integer (DBTYPE_UI1). adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT). adVarBinary 204 Indicates a binary value. adVarChar 200 Indicates a string value. adVariant 12 Indicates an Automation Variant (DBTYPE_VARIANT). Note This data type is currently not supported by ADO. Usage may cause unpredictable results. adVarNumeric 139 Indicates a numeric value. adVarWChar 202 Indicates a null-terminated Unicode character string. adWChar 130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR). |
|||
42
mdv92
19.11.10
✎
17:12
|
(39) Да ну!!
Так кто мне скажет, в (29) ничео лишнего нет? |
|||
43
КМ155
19.11.10
✎
17:14
|
(42) половина лишнего
команда не нужна |
|||
44
mdv92
19.11.10
✎
17:15
|
А краткое описание есть?
ADODB.Command - это команда ADODB.RecordSet - а это полученные данные? |
|||
45
mdv92
19.11.10
✎
17:16
|
(43) А как тогда написать?
К чему присобачить .Execute(); ? |
|||
46
КМ155
19.11.10
✎
17:17
|
(45) Execute рекордсету не нужен
у него есть Open |
|||
47
shishkin1966
19.11.10
✎
17:18
|
Connection.Execute("set implicit_transactions off");
|
|||
48
КМ155
19.11.10
✎
17:21
|
(47) для выборки данных - накуя ?
MyCon = Новый COMОбъект ("ADODB.Connection"); MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\999.MDB"); MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "select * from Inna where NOM_REG_VI=1 and id_predpr=1 and id_ik=1 and id_zdan=1"; MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic MyRst.Fields("Resultat").Value="Киргуду"; // MyRst.Update(); //Запись MyRst.Close(); MyCon.Close(); |
|||
49
shishkin1966
19.11.10
✎
17:24
|
чтобы не мучались, кинул доку на русском про ADO
|
|||
50
mdv92
19.11.10
✎
17:24
|
(48) Нашли поле, туда записали Киргуду
А мне считать надо! Все строки с заданными значениями полей. |
|||
51
mdv92
19.11.10
✎
17:25
|
(49) Спасибо опять!
|
|||
52
КМ155
19.11.10
✎
17:27
|
(50) [А мне считать надо]
MyRst.Fields("Resultat").Value - а это что ? [Все строки с заданными значениями полей] "select * from Inna where NOM_REG_VI=1 and id_predpr=1 and id_ik=1 and id_zdan=1"; мозг включай |
|||
53
mdv92
19.11.10
✎
17:36
|
Присланное не могу пока посмотреть - на работе чужой сижу.
(52)MyRst.Open (MyStr, MyCon, 2, 3);// Пока MyRst.EOF()=0 цикл КодЗаказа = Строка(RecordSet.Fields("Resultat").Value); КонецЦикла; Так будет работать? И потом, тут всё равно давно сомобъекта! |
|||
54
КМ155
19.11.10
✎
17:39
|
(53) два , а не три
Connection и Recordset команда не нужна работать будет - так тяжело проверить ? |
|||
55
mdv92
19.11.10
✎
17:42
|
У меня еще базы нет, к которой подключаться, она пустая.
|
|||
56
МихаилМ
19.11.10
✎
17:44
|
(42)
звездочка лишняя. пишите конкретно, какие поля нужны. если не требуется блокировка всей таблицы, укажите подсказку (hint) блокировки Вас не смущает? RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Cmd.Execute(); желательно в выборке (RecordSet) обращаться к полю по индексу, а не имени. для получения ADO данных в 1с8 удобнее использовать http://main.1c-ei.ru/Articles/gamewithfire |
|||
57
КМ155
19.11.10
✎
17:44
|
(55) у тебя есть Access на рабочей станции
сделай базку, в ней табличку и изголяйся пример в (48) рабочий но помни формат даты у каждой базы свой |
|||
58
mdv92
19.11.10
✎
17:45
|
MyRst.Open (MyStr, MyCon, 2, 3); - а вот тут 2 и 3 - что означают?
|
|||
59
mdv92
19.11.10
✎
17:46
|
(56) Почему звездочка лишняя? Я считаю все поля, разве нет?
|
|||
60
mdv92
19.11.10
✎
17:48
|
(56) Спасибо - за "игруСОгнем". Я думаю - ме всего-то 2 запроса надо, я обойдусь, наверное.
|
|||
61
КМ155
19.11.10
✎
17:48
|
(58) //adOpenDynamic, adLockOptimistic
|
|||
62
mdv92
19.11.10
✎
17:50
|
(61) Ну, т.е. какие-то параметры по умолчанию.
|
|||
63
КМ155
19.11.10
✎
17:54
|
(62) не а
|
|||
64
ado
19.11.10
✎
17:57
|
(22) А джойны при чем?
|
|||
65
ado
19.11.10
✎
17:58
|
(59) А тебе они все нужны?
|
|||
66
mdv92
19.11.10
✎
17:59
|
Коннект у меня был стащен раньше
MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "Select * from TRESERV where status=0 or status=1"; MyRst.Open (MyStr, Коннект, 2, 3); Пока MyRst.EOF()=0 цикл СтрТаблицаЗаявок = ТаблицаЗаявок.Добавить(); СтрТаблицаЗаявок.NoteID = Строка(MyRst.Fields("NoteID").Value); КонецЦикла; MyRst.Close(); Коннект.Close(); TRESERV - имя таблицы в моей базе. Так правильно? |
|||
67
mdv92
19.11.10
✎
18:00
|
(65) Почти! из 13 нужны 10.
(63) А что тогда? |
|||
68
КМ155
19.11.10
✎
18:03
|
(66) так правильно
почти Пока НЕ MyRst.EOF() Цикл |
|||
69
mdv92
19.11.10
✎
18:04
|
(68) Ага! Самое главное где-то, видимо, потеряла.
|
|||
70
mdv92
19.11.10
✎
18:06
|
Не, а почему, так тоже было правильно!
|
|||
71
КМ155
19.11.10
✎
18:07
|
(69) главное ниже
у тебя нет движения по набору, цикл будет бесконечным где MoveNext() ? |
|||
72
mdv92
19.11.10
✎
18:18
|
(71) Принято !
|
|||
73
ILM
гуру
19.11.10
✎
18:24
|
Нет, ну а почему бы тогда и COMSafeArray не заюзать?
Тогда выборку можно целиком передать в ТЗ ))) |
|||
74
МихаилМ
19.11.10
✎
18:27
|
то (73)
код или ссылку приведите ? |
|||
75
ILM
гуру
19.11.10
✎
18:29
|
Счас гугльну...
|
|||
76
МихаилМ
19.11.10
✎
18:32
|
ну-ну
если бы так можно было, то gamewithfire была бы не нужна. |
|||
77
ILM
гуру
19.11.10
✎
18:32
|
(74) Нате, v8: Чтение файлов из таблцы SQL
Даже ходить далеко не пришлось))) |
|||
78
МихаилМ
19.11.10
✎
18:38
|
то (77)
в каком посте говорится о теме в (73) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |