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
|
Ну здесь то можно было бы догадаться
CODE |
ADODataSet1->Properties["Unique Table"]->Value = "Таблица2";
//Ну и так далее...
|
|
|
DenisG |
Отправлено: 17.02.2006, 15:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
если бы так просто было бы
попробуй напиши это и скомпилируй
ошибку дает:( |
|
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 |
|