|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Привет друзья, очень нужна ваша помощь! Проблема следующая: мне нужно прочитать запись из БД по значению определенного поля, в этом поле записана структура. Мы имеем указатель на структуру. Запрос имеет такой вид: Код: sql 1.
На приаттаченном скрине я попытался воспользоваться функциями FullBindColOnNSTable и FullBindParmOnNSTable (обертки над SQLBindCol и SQLBindParm соответственно), но ничего не работает. Пожалуйста, подскажите решение. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 10:55 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
> Проблема следующая: мне нужно прочитать запись из БД по значению определенного > поля, в этом поле записана структура. Мы имеем указатель на структуру. > в поле БД не может быть структуры. Так что давай думай дальше. > Запрос имеет такой вид: > > SELECT SitenameFROM ccms.NBNSNameservWHERE Addr =(здесь должно быть представление структуры понятное БД) Не бывает в реляционной БД структур. ODBC обычно работают с реляционными БД. Что за СУБД у тебя ты не сообщаешь, но думаю там тоже нет структур. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 13:26 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Объектно-реляционные СУБД как ни странно бывают, но это ни о чем не говорит. Возможно у автора структура сериализована в BLOB поле, а ему необходимо его считать и десериализовать в структуру? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 13:34 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
БД - Cache database, В поле Addr записывается именно структура, более того, у меня есть функция, которая читает запись по названию: Код: sql 1.
В этом случае проблем не возникает, т.к. строку можно легко вставить в запрос: Код: plaintext 1.
Мне же нужно вытащить название по структуре, и я не знаю как правильно это сделать. Буду признателен за подсказку в решении или в каком направлении двигаться! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 13:46 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Тебе надо двигаться в сторону соотв. конференции по Cache. Желаю успехов. Модератор: Тема перенесена из форума "C++". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 14:18 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Покажите структуру классов. Вы либо чего-то недопонимаете, либо сделали какую-то хрень при проектировании. Не должно быть поле адреса структурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 15:02 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
В поле Addr записывается структура, которая состоит из unsign short и char[14] Она записывается в бинарном виде. Мой вопрос в том, как мне отразить эту структуру в запросе WHERE Addr = <...>, чтобы БД смогла выдать нужную запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 15:30 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Структура на уровне С, а вы хотите на уровне базы с ней работать? Сомнительная затея, по-моему. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 15:37 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Хотя можно попробовать. Без особой надежды, правда (если вы на уровне каше не собираетесь работать с бинарными данными). На уровне идеи - сделать поле Addr сериализуемым, и метод десериализации написать самому (сам не до конца понял, что сказал). Но более правильно как-то перестроить идеологию работы. Это возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 15:40 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Блок А.Н., авторНо более правильно как-то перестроить идеологию работы. Это возможно? К сожалению, нет Дело в том, что в этой табличке никаких методов нет (только проперти). Тем не менее, есть код на плюсах, который используя обертку функции SQLBindParm, записывает в поле Addr структурку (скрин приаттачен) Соответственно, я предполагаю, что подобным образом можно обратиться к этому полю. Только ума не приложу как? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 16:02 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Блок А.Н., Сорри, скрин не тот. Того кода у меня сейчас нет, но он отличается только тем, что там SQLBindParm вызывается для структурки, и в запросе SET Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 16:11 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
А табличку поменять сможете? вычисляемых полей добавить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 18:37 |
|
Прошу помощи в работе через ODBC
|
|||
---|---|---|---|
#18+
Тут все усугубляет то, что каше сама меняет типы данных, и к хранению самого значения привязаться сложно. Поэтому сделаю чисто на строках, а вы уже подумаете, как битовое хранение числа превратить в представление каше. Код: vbnet 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.
Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2012, 19:05 |
|
|
start [/forum/topic.php?fid=39&fpage=33&tid=1557395]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 375ms |
total: | 506ms |
0 / 0 |