link10792 link10793 link10794 link10795 link10796 link10797 link10798 link10799 link10800 link10801 link10802 link10803 link10804 link10805 link10806 link10807 link10808 link10809 link10810 link10811 link10812 link10813 link10814 link10815 link10816 link10817 link10818 link10819 link10820 link10821 link10822 link10823 link10824 link10825 link10826 link10827 link10828 link10829 link10830 link10831 link10832 link10833 link10834 link10835 link10836 link10837 link10838 link10839 link10840 link10841 link10842 link10843 link10844 link10845 link10846 link10847 link10848 link10849 link10850 link10851 link10852 link10853 link10854 link10855 link10856 link10857 link10858 link10859 link10860 link10861 link10862 link10863 link10864 link10865 link10866 link10867 link10868 link10869 link10870 link10871 link10872 link10873 link10874 link10875 link10876 link10877 link10878 link10879 link10880 link10881 link10882 link10883 link10884 link10885 link10886 link10887 link10888 link10889 link10890 link10891 link10892 link10893 link10894 link10895 link10896 link10897
C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Помогите разобраться с синтаксимом, Надо перевести с дельфи на Си
DenisG
Отправлено: 17.02.2006, 14:35


Ученик-кочегар

Группа: Участник
Сообщений: 6



есть вот такой код на паскале
CODE

ADODataSet1.Properties['Unique Table'].Value := 'Таблица2';

ADODataSet1.Properties['Update Resync'].Value := adResyncAll;

ADODataSet1.Properties['Update Criteria'].Value := adCriteriaKey;

ADODataSet1.Properties['Resync Command'].Value := 'select * from Таблица 1 INNER JOIN Таблица 2 ON Таблица 1.num = Таблица 2.count';

Как его правильно написать в cb6
за ранее спасибо.

Отредактировано DenisG — 17/02/2006, 15:42
Doga
Отправлено: 17.02.2006, 14:45


Мастер участка

Группа: Участник
Сообщений: 575



Ну здесь то можно было бы догадаться biggrin.gif

CODE

ADODataSet1->Properties["Unique Table"]->Value = "Таблица2";
//Ну и так далее...
DenisG
Отправлено: 17.02.2006, 15:12


Ученик-кочегар

Группа: Участник
Сообщений: 6



smile.gif если бы так просто было бы
попробуй напиши это и скомпилируй
ошибку дает:(
Doga
Отправлено: 17.02.2006, 15:51


Мастер участка

Группа: Участник
Сообщений: 575



Надеюсь, Вам не составит труда представить здесь текст, упомянутой Вами ошибки, с указанием конкретного места её возникновения в Вашем коде?

Отредактировано Doga — 17/02/2006, 15:52
olegenty
Отправлено: 17.02.2006, 16:50


Ветеран

Группа: Модератор
Сообщений: 2412



а так?
CODE

(*ADODataSet1->Properties)["Unique Table"]->Value = "Таблица2";


так всё верно, только появится Unresolver External.
ошибка линкера глушится так:
CODE

#pragma alias "@System@@CheckAutoResult$qqrv"="@System@@CheckAutoResult$qqrl"


естественно, пропертя должна иметь место быть.

Отредактировано olegenty — 17/02/2006, 17:56
DenisG
Отправлено: 17.02.2006, 17:00


Ученик-кочегар

Группа: Участник
Сообщений: 6



я нашел вот такой способ
CODE

#define STR2VAR( Str ) OleVariant( WideString( Str ) )
// что бы линкер не матюгался

namespace System {
void __fastcall CheckSafecallResult(HRESULT hr)
{
return;
}
};

void __fastcall TForm1::ADODataSet4AfterOpen(TDataSet *DataSet)
{
ADODataSet4->Properties->Item[STR2VAR("Unique Table")]->Value = OleVariant("Tabl_Izmer_Bio");
ADODataSet4->Properties->Item[STR2VAR("Update Resync")]->Value = OleVariant("adResyncAll");
ADODataSet4->Properties->Item[STR2VAR("Update Criteria")]->Value = OleVariant("adCriteriaKey");

ADODataSet4->Properties->Item[STR2VAR("Resync Command")]->Value = OleVariant(" SELECT * FROM ((Tabl_Izmer_Bio INNER JOIN Table_Toch_Bio ON Tabl_Izmer_Bio.Ind_Toch = Table_Toch_Bio.Nomer_Toch)"
" INNER JOIN images ON Tabl_Izmer_Bio.Base_Left = images.code) INNER JOIN images1 ON Tabl_Izmer_Bio.Base_Right = images1.code"
" WHERE (((Tabl_Izmer_Bio.Ind_kl =" + IntToStr(ADODataSet1index->Value) +")"
"AND (Tabl_Izmer_Bio.Ind_Izmer =" + IntToStr(ADODataSet2Nomer_Izm->Value)+")))ORDER BY Nomer_Toch");

К сожалению после ввода Resync Command вылетает Access Violation

Отредактировано DenisG — 17/02/2006, 17:00

Вернуться в Вопросы программирования в C++Builder