دوباره سلام.آره اشتباه کردم
راستی! بعد از Tables از bracket استفاده کنین نه پرانتز.کد:for (int i=0 ; i < ds->Tables[0]->Rows->Count ; i++)
{
dr = ds->Tables[0]->Rows[i];
}
Printable View
دوباره سلام.آره اشتباه کردم
راستی! بعد از Tables از bracket استفاده کنین نه پرانتز.کد:for (int i=0 ; i < ds->Tables[0]->Rows->Count ; i++)
{
dr = ds->Tables[0]->Rows[i];
}
كد تست شد ولي شامل error هاي زير بود:
'* error C2845: '[' : cannot perform pointer arithmetic on __gc pointer 'System::Data::DataTableCollection __gc
error C2227: left of '->Rows' must point to class/struct/union
error C2227: left of '->Count' must point to class/struct/union
وای شرمنده!
من بین 2003 ,2005 هنوز هم دچار سوء تفاهم هستم!
امیدوارم دیگه مشکلی نداشته باشه. البته من کد رو تست نکردم!کد:for (int i=0 ; i < ds->Tables->Item["Name"]->Rows->Count ; i++)
{
dr = = ds->Tables->Item["Name"]->Rows->Item[i];
}
در حال حاظر به 2003 دسترسی ندارم.
من امروز قبل از چك كردن پست ها با كلي كلنجار مشكل رو حل كردم . كاملا درسته چيزي كه نوشتيد ممنونم . كلي هم ناراحت شدم كه يه ساعتي درگير حل مشكل بودم ولي دسترسي به اينترنت نداشتم تا كارم سريعتر انجام بشه. آخه من از 7 صبح سركار هستم و اينترنت از 8 وصل مي شه
من كد رو به صورت زير تست و اجرا كردم درست جواب داد:
تو اين قطعه كد تقريبا تمام چيزهايي رو كه در مورد كار با بانك در c++.net2003ياد گرفتم به كار بردم . البته شرط مورد نظر هم در دستور Select و هم در if موجود در حلقه forوجود داره و مي شه از هركدومش استفاده كردکد:DataRow *dr;
String *file_name;
StringBuilder *query = new StringBuilder();
DataSet *dataSet11=new DataSet;
int j=0;
String* myConnString = S"Integrated Security=SSPI;Data Source=(local);Initial Catalog=cad;Provider=SQLOLEDB.1;Persist Security Info=False";
OleDbConnection* oleDbConnection1 = new OleDbConnection(myConnString);
oleDbConnection1->Open();
query->Append("select * from ref where Code= '");
query->Append(pc->GetString);
query->Append("'");
query->Append(" and");
query->Append(" dwg='");
query->Append(file_name);
query->Append("'");
OleDbDataAdapter* oleDbDataAdapter1 = new OleDbDataAdapter(query->ToString(),oleDbConnection1);
oleDbDataAdapter1->Fill(dataSet11,"ref");
for (int i=0 ; i < dataSet11->Tables->get_Item("ref")->Rows->Count;i++)
{
dr=dataSet11->Tables->get_Item("ref")->Rows->get_Item(i);
if (dr->get_Item("code")==pc->GetString && dr->get_Item("dwg")==file_name);
j++ ;
}
ممنون از توجه شما :11: