顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - Sanada

頁: [1]
1
網頁技術 / [請教]關於使用者手冊的編寫
« 於: 2006-03-16 13:08 »
看過很多Linux 的線上文件,總覺得格式幾乎都大同小異,想請教各位,是有相關的編寫手冊的軟體嗎?

像Gentoo 的文件或是Gimp,Mysql 的線上說明文件的格式

2
想請教各位,我有寫一支程式要將文字檔的資料逐筆寫入資料庫中,但是,當資料量約1500 筆時,在進行寫入動作時就顯得相當慢

可以得知的是因為每次寫入資料庫都是一筆一筆執行,所以才導致程式沒有效率,
於是我想採用INSERT INTO aa VALUES (n,n,n,n),(n,n,n,n).......

如上,將資料分每10筆或20一次寫成segment,再送給資料庫應該可以提升不少速度

但是,Jet DataBase 似乎不能這樣寫,所以想請教各位有更好的辦法嗎?
或者是正確的SQL 寫法(ANSI-89)

3
程式討論版 / [問題]關於 .ini 的解析
« 於: 2005-08-26 17:38 »
上述網站中的 INIReader 函式中呼叫Win API 的函式來完成,但是小弟在用過之後發現
若檔案名稱過長,在執行 INIReader.Write(section,key,value,Filename) 後,Win API 會將檔案名稱截短後,回寫至m_Filename ,造成後續寫入時會出現問題,解決方法如下,若有使用該程式,可參考解決方法

Public Function Write(ByVal section As String, ByVal key As String, ByVal value As String) As Boolean
            Dim Old_Filename As String
            Dim Result As Boolean

            '由於WritePrivateProfileString 是屬於Win API 的函數,其Filename 為LPCSTR 格式,當該函式完成後,會重新處理Filename
            '若Filename 名稱過長將會被截斷,導致後續寫入時將會寫至截斷後的檔案名稱的檔案內
            ',所以在呼叫該函式之前先將檔案名稱存下來,等完成後再回寫至原來的檔案名稱變數m_Filename
            Old_Filename = Filename
            Result = (WritePrivateProfileString(section, key, value, Filename) <> 0)
            Filename = Old_Filename
            Old_Filename = Nothing

            Return Result
        End Function

4
若資料庫欄位是屬於DateTime 或TimeStamp
當欲使資料(日期 時間)能完全的顯示在DataGrid 上
請記得使用 MySQL 提供的函式 FORMAT (Field,'%Y/%m/%w %H:%i:%s')
如此一來就會得到完整的DateTime 格式
如果沒有用此函式,僅能得到日期而沒有時間

若資料庫欄位是屬於Unsigned Integer
記得要使用 Convert.toInt64 來轉換喔,把 UInt32  擴展為Int64 才能在VB .NET 處理

同理,若只要有使用到Unsigned 時,當資料讀進VB .NET 就須擴展一倍,若沒有使用到Unsigned 則不須理會

若資料庫欄位是使用TINYINT(1) 來表示布來代數式時,VB .NET 讀入是會是呈SByte() 的格式,VB 無法將該函式轉換boolean
請使用 Convert.toInt16() 來進行轉換後,再利用CBool 來轉換布林代數式

相關的轉換型態請參考MSDN

以上是小弟在寫程式時所碰到的型別問題,在此提供經驗分享
若有新的型態轉換問題,我會再繼續補上

5
程式討論版 / [問題]關於 .ini 的解析
« 於: 2005-08-22 14:31 »
找了好幾個網站,看到有人使用正規字串表示式來處理
突然找到了一個不錯的網站
http://www.mentalis.org/soft/class.qpx?id=6
上面有寫好的元件可供使用
提供大家參考

6
書當然是一項重點,但更重要的還是MSDN 很多東西都在上面,書本沒辦法完全介紹,所以懂得翻MSDN 才能更進一步旳學到東西,最近寫VB .NET 連弄個DataGrid.TablsStyle 都要寫一大堆程式碼,不過呢!覺得.NET 的寫法還蠻符合我所認知的物件導向,當然複雜是不在話下

7
Do
k(10) = Readfile.ReadLine()
f(10) = StrConv(k(10), VbStrConv.Wide)

Loop Until Readfile Is Nothing

你宣告了k ,f 各10 個陣列,而且你還用 錯了
VB .NET 的陣列起始值是和C# 一樣從零開始
況且你一直把讀出的東西丟到同一個空間,這樣看不出來你宣告字串陣列的意義
如此一來,剩下的程式碼就沒有任何意義,也跑不出什麼結果

8
程式討論版 / [問題]關於 .ini 的解析
« 於: 2005-08-19 16:30 »
在Linux 或是Windows  底下常使用 .INI 檔來進行應用程式的初始化設定

我想請教各位的是,在Windows 底下可以使用 Windows API =>GetProfileString/SetProfileString 來解析 INI 檔的內容

在Linux中那麼多的 INI 檔都是由應用程式自行解析的呢還是經由某些程式解析後再取出的呢?因為這些設定檔的規格好像都一樣,所以在猜想是否有專門在解析這種文件的程式?

如果想在Windows 底下採用.Net 而不想使用Win API 來完成解析,該呼叫那些函式呢?

謝謝各位!

9
非常感謝你!@
以免我笨笨的一直試都試不出結果
再一次的感謝!

10
你好!我也是使用VB .NET +MySQL 4.1 版
使用MySQL 提供的UI 進行讀出寫入Unicode 都正常
但當我寫程式讀出資料內容,秀在畫面上卻是??
我的資料庫欄位皆為utf8
如果 set names 'big5' 則顯示會正常,但卻不是每個字都是正確顯示,有些特殊字還是會出問題
如果 set names 'uft8' 則輸出皆是??
我參考了許多相關文章也做了相對應的設定
包括my.conf 的設定
連線字串加入CHARSET=utf8
或者是 set names 'uft8'

如上,也是得到同樣的結果
,附註一點,我是使用 odbconnection 而不是使用MySql 提供的函式,請問各位有確切的設定方法嗎?

11
database 討論版 / [Access] 字串常數的問題
« 於: 2005-08-12 14:04 »
秏呆 你好
你可能沒有把第一篇看仔細喔
你說的方法我都有試了
目前解決的方法是用第二篇說明喔

不過還是謝謝你啦

12
database 討論版 / [Access] 字串常數的問題
« 於: 2005-08-12 12:04 »
耗呆 你好
我使用 '秋小魚\'S' 在Access 2000 中會產生語法錯誤喔

請問你是使用哪一個版本的Access 呢?

附帶一提:在單引號中有問題的符號包括 { } [ ] ' "
皆須使用chr() 格式來取代

13
database 討論版 / [Access] 字串常數的問題
« 於: 2005-08-12 09:15 »
用Google 找了一些網頁,突然看到一種寫法可以避開這種錯誤

若該字串中有包含單引號如  'M'r SE'
則須改成如下 'M' & chr(39) & 'r SE'
如此一來就不會出現語法錯誤的訊息

自問自答,希望對使用Access  的人有幫助

14
database 討論版 / [Access] 字串常數的問題
« 於: 2005-08-10 17:31 »
各位好,我在寫程式時遇到下列問題
我是採用VB+Access 2000 資料庫

當我輸入下列的SQL 語法時,出現語法錯誤的問題
UPDATE customer SET cus_name='秋小魚'S' WHERE cus_num='CUST-00001'

我知道問題是出在 cus_name='秋小魚'S'
可是Access 又不支援這種寫法cus_name='秋小魚\'S'
我試了很多方法,只有一種能成功
cus_name="秋小魚'S"
將單引號改為雙引號,就可以將資料更新
但,若我的資料是cus_name="秋小魚"S"
中間的單引號改為雙引號,此時又會出現語法錯誤
若改為cus_name='秋小魚"S'
則又可以通過,
但在程式中為了這些保留符號,還要特地檢查該字串中有無上述的情況實在不方便,不知道是否有像MySQL 一樣支援cus_name='秋小魚\'S' 這種寫法的方式,讓Access 不解析中間的單引號.

頁: [1]