|
1С, C# и OLE, типы данных
|
|||
---|---|---|---|
#18+
Добрый день. Возникла проблема над которой бьюсь уже далеко не первый день и безрезультатно. На С# написан некий сервис обращающийся к 1С (версия 8.1), по сути сервис отправляет SQL-запрос 1С-у и получает результат, проблема заключается в определении типов данных полученных в ходе выполнения запроса. Вот код функции отвечающей за это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
На данный момент определение типов данных базируется на данных первой строки Код: plaintext 1. 2.
Но это неправильно, т.к. например могут быть случаи возврата null-значения, или вообще отсутствия строки, но при этом типы данных определить необходимо. Варианты с заменой null значений, или варианты добавления обязательной первой строки для определения типов данных не рассматриваются, также как и вариант прямого доступа к БД, т.к. 1С файловая. Как-то так получается тип данных "Тип", но что с ним дальше делать непонятно, сам результат имеет тип "System.__ComObject" Код: plaintext 1.
Вот и спрашивается, что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2010, 09:47 |
|
1С, C# и OLE, типы данных
|
|||
---|---|---|---|
#18+
В общем проблему удалось решить, кому надо выкладываю код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2010, 10:18 |
|
1С, C# и OLE, типы данных
|
|||
---|---|---|---|
#18+
Уважаемые коллеги, никак не могу понять, как подключит данную процедуру, недавно перешел на С# Изменил код вот-так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2016, 23:40 |
|
1С, C# и OLE, типы данных
|
|||
---|---|---|---|
#18+
тПользовательБазы = "OLE"; тПарольБазы = "1"; тИмяСервера = "srv"; тИмяБазы = "baza"; Сом = Новый COMОбъект("V82.COMConnector"); Соединение = Сом.Connect("Srvr=""" +тИмяСервера + """;Ref=""" +тИмяБазы + """;Usr=""" +тПользовательБазы + """;pwd=""" +nПарольБазы+ """;") ; Возврат Соединение; так же как и в 1с ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2016, 10:02 |
|
|
start [/forum/topic.php?fid=28&msg=36761006&tid=1518629]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
147ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 18ms |
total: | 272ms |
0 / 0 |