線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1216
推到 Plurk!
推到 Facebook!

請問如何將TXT檔資料轉入資料庫

尚未結案
foxrabbit
一般會員


發表:11
回覆:16
積分:5
註冊:2003-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-25 16:23:15 IP:61.218.xxx.xxx 未訂閱
各位高手大大: 我有一個文字檔,內容為 123#456 # 789#000 234#567 # 890#111 345#678 # 901#222 我想把這些資料轉入access中,我該怎麼做
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-25 17:13:27 IP:61.60.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40987 您可以參考看看上面的文章, 學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
foxrabbit
一般會員


發表:11
回覆:16
積分:5
註冊:2003-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-25 18:46:48 IP:61.218.xxx.xxx 未訂閱
請問mieng大大: 我現在會把資料讀出來了,但是要怎麼寫入access裡面
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-25 21:50:33 IP:61.60.xxx.xxx 未訂閱
使用DataSet1->Post(); 可以將資料寫入資料庫內 學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-25 22:23:22 IP:61.60.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36901 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34279 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34568 再參考看看上面的文章試試呦~ PS: 您可以多利用搜尋功能,也可以直到到資料庫討論區逛逛 應該可以找到您所需要的資料 我自己實作的話,會直接呼叫DBNavigator的事件和將資料寫在DBEdit, 有點笨的慢速作法~=..=~ 學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
foxrabbit
一般會員


發表:11
回覆:16
積分:5
註冊:2003-11-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-26 15:43:49 IP:61.218.xxx.xxx 未訂閱
請問mieng大大: 我現在會寫入access了但方法有點笨,程式碼為下
String temp;
for (int i=0;i< Memo1->Lines->Count-1;i  )
{
int j=1;
ADOQuery1->Insert();
ADOQuery2->Insert();
for (;;)
{
  int n = Memo1->Lines->Strings[i].Pos("#");
  if (n == 0)
  {
    temp =Memo1->Lines->Strings[i];
    break;
  }
  else
  {
    temp = Memo1->Lines->Strings[i].SubString(1,n-1);
    Memo1->Lines->Strings[i]= Memo1->Lines->Strings[i].Delete(1,n);
  }
  //在這裡save temp
  if (j == 1)
  {
          ADOQuery1->FieldValues["pl_no"] =temp; // Edit2->Text;
          ADOQuery2->FieldValues["pl_no"] =temp; // Edit2->Text;
  }
  if (j == 2)
  {
          ADOQuery1->FieldValues["pl_no_ct"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["work_time"] =temp; //Edit2->Text;
  }
  if (j == 3)
  {
          ADOQuery1->FieldValues["ct_remark"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["wk_remark"] =temp; //Edit2->Text;
  }
  if (j == 4)
  {
          ADOQuery1->FieldValues["class"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["class"] =temp; //Edit2->Text;
  }
  if (j == 5)
  {
          ADOQuery1->FieldValues["sdate"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["sdate"] =temp; //Edit2->Text;
  }
  if (j == 6)
  {
          ADOQuery1->FieldValues["edate"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["edate"] =temp; //Edit2->Text;
  }
  if (j == 7)
  {
          ADOQuery1->FieldValues["qtypr"] =temp; //Edit2->Text;
          ADOQuery2->FieldValues["qtypr"] =temp; //Edit2->Text;
  }
  j  ;
}
ADOQuery1->Post();
ADOQuery2->Post();
}
請問可否有比較好的方式可以寫入
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-26 16:27:39 IP:61.60.xxx.xxx 未訂閱
有丫~Jasonwong 版主寫的範例就是了,不過是delphi的語法 http://www.cobbler.idv.tw/dvbbs/dispbbs.asp?boardID=34&ID=87&skin=1 學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-26 17:20:50 IP:61.60.xxx.xxx 未訂閱
參考Jasonwong 版主的範例和您的寫法後修改的兩個方法,沒run過不知能不能用,可以用要說一下嘿 方法一:
String temp;
int len = Memo1->Lines->Count-1;//嗯~寫在外面應該能增加速度,個人習慣 =..=
for (int i=0;iInsert();
  ADOQuery2->Insert();
  for (int j=1;;j  )
  {
    int n = Memo1->Lines->Strings[i].Pos("#");
    if (n == 0)
    {
      temp =Memo1->Lines->Strings[i];
      //離開for前save 最後的temp
      ADOQuery1->Fields->Fields[j]->Text = temp;
      ADOQuery2->Fields->Fields[j]->Text = temp;
      break;
    }
    else
    {
      temp = Memo1->Lines->Strings[i].SubString(1,n-1);
      Memo1->Lines->Strings[i]= Memo1->Lines->Strings[i].Delete(1,n);
    }
    //在這裡save temp
    ADOQuery1->Fields->Fields[j]->Text = temp;
    ADOQuery2->Fields->Fields[j]->Text = temp;
  }
  ADOQuery1->Post();
  ADOQuery2->Post();
}
方法二:
String temp;
int len = Memo1->Lines->Count-1;//嗯~寫在外面應該能增加速度,個人習慣 =..=
for (int i=0;iInsert();
  ADOQuery2->Insert();
  for (;int n = Memo1->Lines->Strings[i].Pos("#") == 0;j  )
  {
    temp = Memo1->Lines->Strings[i].SubString(1,n-1);
    Memo1->Lines->Strings[i]= Memo1->Lines->Strings[i].Delete(1,n);
    //在這裡save temp
    ADOQuery1->Fields->Fields[j]->Text = temp;
    ADOQuery2->Fields->Fields[j]->Text = temp;
  }
  temp =Memo1->Lines->Strings[i];
  ADOQuery1->Fields->Fields[j]->Text = temp;
  ADOQuery2->Fields->Fields[j]->Text = temp;
  ADOQuery1->Post();
  ADOQuery2->Post();
}
 
學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
foxrabbit
一般會員


發表:11
回覆:16
積分:5
註冊:2003-11-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-27 08:44:38 IP:61.218.xxx.xxx 未訂閱
請問mieng大大: 下列這行程式碼代表什麼意思啊 for (;int n = Memo1->Lines->Strings[i].Pos("#") == 0;j )
mieng
中階會員


發表:12
回覆:97
積分:81
註冊:2003-10-31

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-11-27 09:45:57 IP:61.60.xxx.xxx 未訂閱
只是把下面這段移進for裡面而己~  
    int n = Memo1->Lines->Strings[i].Pos("#");
    if (n == 0)
    {
    }
    else
    {
    }
    j  ;
 
學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU)
foxrabbit
一般會員


發表:11
回覆:16
積分:5
註冊:2003-11-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-11-27 10:01:04 IP:61.218.xxx.xxx 未訂閱
了解了謝謝mieng大大
系統時間:2024-05-19 16:36:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!