|
|
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста, решить слежующую проблему: пишу запрос к SQLServer'у, например "SELECT id_, rtrim(FullTitle) FullTitle FROM MyTable", затем пытаюсь в билдере изменить поле FullTitle - и ничего не получается... пытался сделать ADODataSet1->FieldByName("FullTitle")->ReadOnly = false; - не получилось... Как изменить это поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 10:59 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Код покажи , как делаешь. ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 12:06 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, за дубляж... Вот код, может быть он поможет: TADODataSet* data = new TADODataSet(NULL); data->LockType = ltBatchOptimistic; data->Connection = ADOConnection1; data->CommandText = "SELECT id_, rtrim(FullTitle) FullTitle FROM ListRoads"; data->Open(); data->Edit(); data->FieldByName("FullTitle")->ReadOnly = false; data->FieldByName("FullTitle")->AsString = "123"; data->Post(); ShowMessage(data->FieldByName("FullTitle")->AsString); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2004, 07:35 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
а если попробовать просто , без rtrim ? Код: plaintext 1. 2. так прокатит ? ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2004, 14:57 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Нет, мне лишние пробелы не нужны... К тому же билдер почему-то не хочет работать с полями, полученными формулой в запросе. Например, мне иногда нужно делать так: SELECT id_, FullTitle, 0 as vkl FROM MyTable и менять потом поле vkl Вот я и српшиваю, как такие поля менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2004, 10:08 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
BCB здесь скорее всего не причем. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdobjfield.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdproattributes.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstfieldattributeenum.asp в последней ссылке особенное внимание уделить свойству adFldUpdatable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2004, 11:07 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Блин... я не могу присвоить свойство adFldUpdatable для data->Recordset->Fields->Item[1]->Attributes Билдер просто не может найти какой-то библиотечки похоже... или я что-то не то делаю? помогите, пожалуйста, уже второй день бьюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2004, 04:15 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
во-первых, прведите полный текст ошибки во-вторых, это свойство можно менять и в design-time в редакторе свойст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2004, 09:51 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
В дезайн тайме мне нельзя работать, запрос формируется автоматически... Вот код: TADODataSet* data = new TADODataSet(NULL); data->LockType = ltBatchOptimistic; data->Connection = ADOConnection1; data->CommandText = "SELECT id_, rtrim(FullTitle) FullTitle FROM ListRoads"; data->Open(); data->Edit(); data->Recordset->Fields->Item[1]->Attributes = 0x4; data->FieldByName("FullTitle")->AsString = "123"; data->Post(); ShowMessage(data->FieldByName("FullTitle")->AsString); а вот ошибка: [Linker Error] Unresolved external 'System::__linkproc__ __fastcall CheckAutoResult()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\RELEASE\VCLE.LIB|syssupp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 07:08 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
__linkproc__ __fastcall CheckAutoResult() а это что за функция ваша или как ? ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 12:10 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
нет, функция не моя, иначе было бы все слишком просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 13:34 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
у меня смутное ощущение что в соседнем топике пробегал сходный вопрос, и там товарищ хвастался что поиском по форуму нашел решение. а вообще у меня еще одно смутное ощущение что у вас BCB6 и у меня похожая была ерунда давно, правда, да и не нравится мне шестерка, короче, поиском его, поиском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 13:55 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
а если обмануть , сделать типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. попробуй вдруг прокатит ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:09 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Действительно - BCB6, Действительно код namespace System { void __fastcall CheckSafecallResult(HRESULT hr) { return; } } находится поиском в форуме... и помогает избежать ошибки линкера, только мне все эти ухищрения изменить поле, не помогают (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:16 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
ну а СУБД какая ? ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:19 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Кстати а у вас в таблице поле имет тип char (XXX) а не varchar(XXX) потому и пробелы лишние лезут вообще зря вы затеяли это все, не верится мне что сможете изменить поле которое является вычисляемым сделайте лучше отдельный запрос или sp на модификацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:21 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
База данных под MS SQL 2000 Действительно, я читал, что если поставить в таблице тип varchar и NOT NULL, то вроде пробелы убираются... НО 1) стараюсь избежать изменения структуры БД 2) мне по прежнему очень нужно производить какие-то операции над полями в запросе, а затем изменять полученный результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:29 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:33 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Все же у меня остается надежда найти решение, ведь билдер иногда позволяет менять поля, которые менять никак нельзя. Пример: В базе данных ключевое поле счетчик (identity). Если получить запросом это поле - его все же можно менять, после изменения свойства ReadOnly Field'а. Может кто-нибудь все-таки нашел решение и для вычислимых полей (полученных использованием каких-либо функций в запросе)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 05:42 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Сделать , просто запросом update table set field = xxx where id = xxx ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 10:48 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Philin делайте так как делали Код: plaintext CheckSafecallResult как обойти вам уже подсказали PS> BCB тут не причем - это работа ADO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 11:14 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
to funikovyuri забыл сказать, что на Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. выдает: Field "FullTitle" can not be modified ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 11:25 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Прошу еще раз обратить внимание на топик. Проблема не решена... Наверняка у кого-нибудь были в точности такие же проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 06:48 |
|
||
|
Работа с ADODataSet в C++Builder
|
|||
|---|---|---|---|
|
#18+
Ууу за это время можно было сменить всетаки ти с char (XXX) на varchar(XXX) как еще Blacл Zorro говорил , и не было бы проблем . ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32685393&tid=2034254]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 370ms |

| 0 / 0 |
