PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

  回應
 
主題工具
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
能不能教一下,用vb6把資料庫的資料轉成純文字檔呢?

能不能教一下
如何用
vb6把sql server的北風資料庫中的customers
轉成純文檔或者csv檔
謝謝
     
      
舊 2006-05-03, 09:15 PM #1
回應時引用此文章
mor8離線中  
Dakpa
Junior Member
 

加入日期: Aug 2005
文章: 758
我已經沒有安裝VB6很久了,只能講大概。

利用資料庫相關控制項把資料庫中的資料表打開後,逐項讀取該欄位所有的資料,每讀一筆(循序)或全部讀取後,在寫入檔案中(Output模式,可以弄成每一筆資料就是一行或者是scv的格式,這都是你自己可以用vb寫出來的)。
 
舊 2006-05-04, 05:36 PM #2
回應時引用此文章
Dakpa離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
引用:
作者Dakpa
我已經沒有安裝VB6很久了,只能講大概。

利用資料庫相關控制項把資料庫中的資料表打開後,逐項讀取該欄位所有的資料,每讀一筆(循序)或全部讀取後,在寫入檔案中(Output模式,可以弄成每一筆資料就是一行或者是scv的格式,這都是你自己可以用vb寫出來的)。

好高興
有人回答了
可是還是不懂你的方式
到底要如何寫程式碼
利用ado把資料庫中的資料表開啟後

Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB;Network Library=DBMSSOCN;Data Source=192.168.1.1,1433;Initial Catalog=Northwind;User Id=sa;Password="
cn.Open

Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM Customers ", cn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs

End Sub
在來
我就不會了
以上有請各位兄台幫幫忙
謝謝.
舊 2006-05-04, 08:57 PM #3
回應時引用此文章
mor8離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
麻煩會的人幫忙一下
謝謝
舊 2006-05-05, 12:58 PM #4
回應時引用此文章
mor8離線中  
穩ㄝ
Major Member
 

加入日期: Oct 2005
您的住址: 淡水
文章: 131
撈出資料後跑一個雙層迴圈....
varFile = FreeFile
Open <your text file> For Output As #varFile
  
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
Loop

Close #varFile
舊 2006-05-05, 01:25 PM #5
回應時引用此文章
穩ㄝ離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
引用:
作者穩ㄝ
撈出資料後跑一個雙層迴圈....
varFile = FreeFile
Open <your text file> For Output As #varFile
  
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
Loop

Close #varFile

您好:
我程式碼改成如下
似乎進入無窮迴圈的樣子
這個純文字檔一直擴充"C:\Text2.txt"
檔案就一直變大
不知那裡出問題了
謝謝
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB;Network Library=DBMSSOCN;Data Source=192.168.1.1,1433;Initial Catalog=Northwind;User Id=sa;Password="
cn.Open

Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM Customers ", cn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs
varFile = FreeFile
Open "C:\Text2.txt" For Output As #varFile
  
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
Loop

Close #varFile
End Sub
舊 2006-05-05, 10:41 PM #6
回應時引用此文章
mor8離線中  
Dakpa
Junior Member
 

加入日期: Aug 2005
文章: 758
利用單步執行的方式除錯,也可以在程式碼裡面加上一些輸出在即時視窗用的程式碼幫助除錯。
舊 2006-05-06, 07:04 AM #7
回應時引用此文章
Dakpa離線中  
isakira
Major Member
 

加入日期: Feb 2004
文章: 235
引用:
作者mor8
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
Loop


你有迴圈,但是資料列沒有往下動,這段修改一下如下
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
rs.movenext
Loop
__________________

為了部落~~
舊 2006-05-06, 10:21 AM #8
回應時引用此文章
isakira離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
引用:
作者isakira
你有迴圈,但是資料列沒有往下動,這段修改一下如下
Do While Not rs.Eof
  strData = ""
  For i = 0 to rs.Fields.Count - 1
    strData = strData & Trim(rs(i).Value) & ","
  Next i
  Print #varFile, strData
rs.movenext
Loop

真是太感謝您了。
舊 2006-05-06, 03:42 PM #9
回應時引用此文章
mor8離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
不好意思在請教一個問題
我將程式碼改成下面(紅色字的部分)
希望輸出成純文字檔
不是之前用逗號來區分
程式一遇到Null值無法轉出,就出現Null錯誤警告,
請問如何解決Null的問題
謝謝
LenArr = Array(5,40,30,30,60,15,15,10,15,24,24) '此句是新增加的,資料庫每一欄位的長度
Do While Not rs.EOF
strData = ""
For i = 0 To rs.Fields.Count - 1
strData = strData & String((LenArr(i) - Len(Trim(rs(i).Value))), " ") & Trim(rs(i).Value) '此句是修改的
  Next i
  Print #varFile, strData
rs.movenext
Loop
舊 2006-05-08, 11:12 AM #10
回應時引用此文章
mor8離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是12:24 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。