ado元件指標問題 |
缺席
|
liyanzi
一般會員 發表:51 回覆:45 積分:19 註冊:2005-01-24 發送簡訊給我 |
請問各位大大,我寫的是關於最短路徑的 當中有一些值是需要連資料庫的 如程式中的 double road_time;
ADOTable1->Open();
road_time=ADOTable1->Fields->Fields[0] ->AsInteger ; 雖然可以執行,但偵錯時數值只要是road_time此值 都會指向資料庫中的第九筆,也就是35 我已經有寫ADOTable1->First(); 然後下一筆則是ADOTable1->Next(); 但數值都會出來的結果都是以第九筆數值下去計算。 想請問各位大大,我是不是有哪裡寫錯了呢??
void __fastcall TForm1::FormCreate(TObject *Sender) { double road_time; ADOTable1->Open(); road_time=ADOTable1->Fields->Fields[0] ->AsInteger ; for ( int i = 0; i < 11; i++ ) { delete_road[ i ] = new Save_roadname ; head = new DList ;//先將其設為NULL find_head = new DList ; for ( int i = 0; i < 11; i++ ) temp_road[ i ] = new DList ; all_num = 0 ; DList *pointer, *temp[10] ; for ( int i = 0; i < 11; i++ ) temp[ i ] = new DList ; for ( int i = 0; i < 11; i++ ) { temp[ i ] = new DList ; ADOTable1->First(); head->number = 1 ; head->roadname = "成功路"; ComboBox1 -> Items -> Add( head -> roadname ) ; head -> road = temp[ 0 ] ; // 成功 -> 自由 head -> road_numeral = 35 ; head -> an_road = NULL ; // 無 head -> an_road_numeral = 0 ; head -> speed = ((double)35) /(road_time); head -> an_speed= 0; ADOTable1->Next(); temp[ 0 ] -> number = 2; temp[ 0 ] -> roadname = "自由路"; ComboBox1 -> Items -> Add( temp[ 0 ] -> roadname ) ; temp[ 0 ] -> road = temp[ 1 ] ; // 自由 -> 博愛 temp[ 0 ] -> road_numeral =45 ; temp[ 0 ] -> an_road = temp[ 2 ] ; // 自由 -> 中正 temp[ 0 ] -> an_road_numeral = 30 ; temp[ 0 ] -> speed = ((double)45)/ (road_time); temp[ 0 ] -> an_speed = ((double)30) / (road_time); ADOTable1->Next(); temp[ 1 ] -> number = 3; temp[ 1 ] -> roadname = "博愛路" ; ComboBox1 -> Items -> Add( temp[ 1 ] -> roadname ) ; temp[ 1 ] -> road = temp[ 3 ] ; // 博愛 -> 仁愛 temp[ 1 ] -> road_numeral =25; temp[ 1 ] -> an_road = NULL ; // 無 temp[ 1 ] -> an_road_numeral = 0 ; temp[ 1 ] -> speed = ((double)25) / (road_time ); temp[ 1 ] -> an_speed = 0; ADOTable1->Next(); temp[ 2 ] -> number = 4; temp[ 2 ] -> roadname = "中正路" ; ComboBox1 -> Items -> Add( temp[ 2 ] -> roadname ) ; temp[ 2 ] -> road = temp[ 3 ]; // 中正 -> 仁愛 temp[ 2 ] -> road_numeral = 45; temp[ 2 ] -> an_road = temp[ 4 ]; // 中正 -> 中山 temp[ 2 ] -> an_road_numeral = 130 ; temp[ 2 ] -> speed =((double)45) / (road_time); temp[ 2 ] -> an_speed = ((double)130) / (road_time); ADOTable1->Next(); temp[ 3 ] -> number = 5; temp[ 3 ] -> roadname ="仁愛路" ; ComboBox1 -> Items -> Add( temp[ 3 ] -> roadname ) ; temp[ 3 ] -> road = temp[ 4 ] ; // 仁愛 -> 中山 temp[ 3 ] -> road_numeral = 70; temp[ 3 ] -> an_road = temp [ 6 ] ; temp[ 3 ] -> an_road_numeral = 120; temp[ 3 ] -> speed = ((double)70) / (road_time); temp[ 3 ] -> an_speed = ((double)120) / (road_time) ; ADOTable1->Next(); temp[ 4 ] -> number = 6; temp[ 4 ] -> roadname = "中山路"; ComboBox1 -> Items -> Add( temp[ 4 ] -> roadname ) ; temp[ 4 ] -> road = temp [ 5 ] ; temp[ 4 ] -> road_numeral =30; temp[ 4 ] -> an_road = temp[ 6 ] ; temp[ 4 ] -> an_road_numeral = 90; temp[ 4 ] -> speed = ((double)30) / (road_time); temp[ 4 ] -> an_speed = ((double)90) / (road_time ) ; ADOTable1->Next(); temp[ 5 ] -> number =7; temp[ 5 ] -> roadname = "北門路" ; ComboBox1 -> Items -> Add( temp[ 5 ] -> roadname ) ; temp[ 5 ] -> road = temp[ 6 ] ; temp[ 5 ] -> road_numeral =50; temp[ 5 ] -> an_road = temp[ 7 ]; temp[ 5 ] -> an_road_numeral = 80 ; temp[ 5 ] -> speed = ((double)50) / (road_time) ; temp[ 5 ] -> an_speed = ((double)80) / (road_time); ADOTable1->Next(); temp[ 6 ] -> number = 8; temp[ 6 ] -> roadname = "中華路"; ComboBox1 -> Items -> Add( temp[ 6 ] -> roadname ) ; temp[ 6 ] -> road = temp[ 7 ] ; temp[ 6 ] -> road_numeral =80 ; temp[ 6 ] -> an_road = NULL; temp[ 6 ] -> an_road_numeral = 0; temp[ 6 ] -> speed =((double)80) /(road_time); temp[ 6 ] -> an_speed= 0 ; ADOTable1->Next(); temp[ 7 ] -> number =9; temp[ 7 ] -> roadname ="中山南路"; ComboBox1 -> Items -> Add( temp[ 7 ] -> roadname ) ; temp[ 7 ] -> road = temp[ 8 ] ; temp[ 7 ] -> road_numeral =95; temp[ 7 ] -> an_road = NULL; temp[ 7 ] -> an_road_numeral = 0 ; temp[ 7 ] -> speed = ((double)95)/(road_time ) ; temp[ 7 ] -> an_speed= 0 ; ADOTable1->Next(); temp[ 8 ] -> number = 10; temp[ 8 ] -> roadname = "安和路" ; ComboBox1 -> Items -> Add( temp[ 8 ] -> roadname ) ; temp[ 8 ] -> road = NULL ; temp[ 8 ] -> road_numeral =0; temp[ 8 ] -> an_road = NULL; temp[ 8 ] -> an_road_numeral = 0 ; temp[ 8 ] -> speed= 0 ; temp[ 8 ] -> an_speed= 0 ; } } ADOTable1->Close();以下資料庫之圖片 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |