最近在編一個機械行業的計算程式,其中涉及到一些引數的查詢問題,比如各種不同鋼材的強度,截面屬性之類的,c#中怎么存盤這些資料,并且我在計算的時候可以查詢呢,用選擇陳述句的話我得選擇多少次啊,用Excel或者Access保存成表的話,在沒有安裝Excel和Access的機器上,根本沒法打開資料檔案啊,怎么辦,求大佬幫助!!!
uj5u.com熱心網友回復:
SQLiteuj5u.com熱心網友回復:
感謝大佬,我不是做IT行業的,現在撰寫一個計算軟體已經自學了很久
,很不容易了,對資料庫也是只知道一個概念,Sqlite不需要客戶機也部署就可以查詢嗎,還有我查到網上說Windows系統自帶Access的驅動,客戶機不需要安裝Access也可以打開mdb檔案?SQlite也是這個原理?
uj5u.com熱心網友回復:
SQLite不用安裝什麼的,也是一個小型數據庫,SQLite只是生成一個dll,這個dll就是數據庫數據了uj5u.com熱心網友回復:
XML 文本 EXCEL等都可以uj5u.com熱心網友回復:
xml我知道,但是xml語法還沒學過,excel檔案客戶機沒有安裝Office的話應該要有相關第三方組件才能打開吧
uj5u.com熱心網友回復:
哇,有點明白了,那豈不是又要去學sqlite了
uj5u.com熱心網友回復:
XML 如果表的結構不是很復雜,那么,保存和讀取只有簡單的幾句代碼.https://blog.csdn.net/xianfajushi/article/details/11742249
uj5u.com熱心網友回復:
txt
uj5u.com熱心網友回復:
sqlite3是個輕量級資料庫,很簡單的,vs里nuget安裝幾個包,官網下個驅動,甚至可以直接vs里建資料庫和表,然后用sqliteconnection和sqlitecommand寫sql訪問了,再裝個ef包,,sqlite也能用ef
uj5u.com熱心網友回復:
如果資料量不大,只要是個文本格式的就可以存啊自已定格式就行
uj5u.com熱心網友回復:
哇,看了這個xml檔案,感覺打開了新世界的大門,再問下xml檔案查詢陳述句方便嗎
uj5u.com熱心網友回復:
明白了,原來可以這樣用
uj5u.com熱心網友回復:
再請教下大佬,Access的檔案在沒有安裝Access的客戶機可以實作打開和查詢么
uj5u.com熱心網友回復:
用linq查詢,很方便,搜索LinqToXml
uj5u.com熱心網友回復:
sqlite3是個輕量級資料庫,很簡單的,vs里nuget安裝幾個包,官網下個驅動,甚至可以直接vs里建資料庫和表,然后用sqliteconnection和sqlitecommand
寫sql訪問了,再裝個ef包,,sqlite也能用ef
再請教下大佬,Access的檔案在沒有安裝Access的客戶機可以實作打開和查詢么
應該安裝excel就自帶了吧
uj5u.com熱心網友回復:
保存.json格式,使用串行化反串行化讀寫10行代碼,不需要學;簡單用法:
https://blog.csdn.net/i1tws/article/details/93137339
uj5u.com熱心網友回復:
TXT 不用任何安裝uj5u.com熱心網友回復:
ini,xml,如果資料量不大的情況下隨便怎么玩,直接序列化存到txtuj5u.com熱心網友回復:
把資料保存到XML里面uj5u.com熱心網友回復:
不同鋼材的強度資料是在哪兒來的?我覺得你應該寫一個讀取資料的功能就好了,盡量讓讀取變成自動化,比如下載是什么格式就什么格式,不要自己去做匯入資料庫,轉換為xml這些事情,放到一個集合就可以了,不用什么資料庫啊。
uj5u.com熱心網友回復:
不同鋼材的強度資料是在哪兒來的?
我覺得你應該寫一個讀取資料的功能就好了,盡量讓讀取變成自動化,比如下載是什么格式就什么格式,不要自己去做匯入資料庫,轉換為xml這些事情,放到一個集合就可以了,不用什么資料庫啊。
資料是鋼結構手冊,問題是怎么保存和查詢,主要是需要一個高效的查詢方式,比如通過截面長寬查找截面的慣性矩或者彎心位置等
uj5u.com熱心網友回復:
XML啊,甚至文本也可以的uj5u.com熱心網友回復:
老哥們認為查詢起來,哪種方式最方便呢,linq to xml還是Sql陳述句,還是怎么查詢啊,行外人要暈死了,我只是想查一個表。。。。uj5u.com熱心網友回復:
不同鋼材的強度資料是在哪兒來的?
我覺得你應該寫一個讀取資料的功能就好了,盡量讓讀取變成自動化,比如下載是什么格式就什么格式,不要自己去做匯入資料庫,轉換為xml這些事情,放到一個集合就可以了,不用什么資料庫啊。
資料是鋼結構手冊,問題是怎么保存和查詢,主要是需要一個高效的查詢方式,比如通過截面長寬查找截面的慣性矩或者彎心位置等
我是不建議資料庫或者xml的,應該原始手冊怎么樣,你的資料就怎么樣保存,掃描以后做點簡單的格式化處理,保存成文本檔案就行。然后寫個程式讀取,根據你的手冊資料建模,實作一個實體,查詢可以直接linq to object 就可以了,不需要繞到資料庫、xml去轉一圈啊。
uj5u.com熱心網友回復:
xml很簡單的,而且也很好用uj5u.com熱心網友回復:
使用程式的資料區,代碼里宣告的陣列和資料表,編譯時會存盤在程式的資料區里,還能接受改動和增加記錄項。如果陣列不是太長、記錄項不是太多,基本就是這樣的。uj5u.com熱心網友回復:
使用檔案 應該可以儲存資料uj5u.com熱心網友回復:
樓主可以考慮用XML啊uj5u.com熱心網友回復:
看你的資料大小吧,不大隨便頂個格式。比如txtuj5u.com熱心網友回復:
你要是只想查詢,沒有對資料進行修改的話其實沒必要用資料庫XML啥的。你就寫一個靜態類把資料放進去設為常量就可以了吧。如果你要用資料庫的話,推薦SQLite,你使用一個ORM框架sqlsugar,使用起來很方便的(http://www.codeisbug.com/Doc/8)
uj5u.com熱心網友回復:
少量的資料,是可以用SQLiteuj5u.com熱心網友回復:
無論是xml,excel,sqlite,sql存盤都是檔案。檔案嘛存的方式都是一樣的。也就那幾個函式。uj5u.com熱心網友回復:
可以把資料保存到xml檔案或者txt檔案,操作時對應的查詢檔案里的內容uj5u.com熱心網友回復:
可以用es或者redis等插件來存盤資料!uj5u.com熱心網友回復:
sqlite,sql server ce,xml 都可以的。uj5u.com熱心網友回復:
用Excel或者Access保存成表的話,在沒有安裝Excel和Access的機器上,沒法直接打開資料檔案 但是C#是通過ado訪問資料庫的,的,ado是包含在.net framework中,所以只要安裝.net framework就行了但是access資料庫不能自動收縮,就是你插入的資料越來越多后,洗掉所有資料,檔案大小并不會縮小。如果用access的話,記得找那個收縮資料庫的方法。
建議sqlite
uj5u.com熱心網友回復:
用Excel或者Access保存成表的話,在沒有安裝Excel和Access的機器上,沒法直接打開資料檔案 但是C#是通過ado訪問資料庫的,的,ado是包含在.net framework中,所以只要安裝.net framework就行了
但是access資料庫不能自動收縮,就是你插入的資料越來越多后,洗掉所有資料,檔案大小并不會縮小。如果用access的話,記得找那個收縮資料庫的方法。
建議sqlite
老哥講的其實已經跟詳細,真心謝謝大家,作為一個編程的自學人員,真是學的多多,發現懂得越少,一個簡單的表資料保存,也會有這么多方法和途徑,因為現在只是做一個結構計算軟體,之前是用switch陳述句一個個選擇的,
,學習資料庫知識的話感覺時間成本太大,這周大概學習了點xml知識發現要深入的話也不簡單,哈哈,比如要保存二維表頭之類的資料,著實難為我了,繼續努力學習,還是謝謝老哥,對了老哥覺得Sqlite和xml對于我這種需求來說,那個做查詢資料的手段簡單一點呢
uj5u.com熱心網友回復:
差不多簡單。。如果你已經實作了用excel或者access做資料庫的代碼,用sqlite方便些,添加參考,再在代碼里using sqlite,,,把所有OleDbConnection 什么Command類名改成SQLiteCommand類的。這樣快。uj5u.com熱心網友回復:
差不多簡單如果你uj5u.com熱心網友回復:
xml啊.....uj5u.com熱心網友回復:
sqlite3是個輕量級資料庫,很簡單的,vs里nuget安裝幾個包,官網下個驅動,甚至可以直接vs里建資料庫和表,然后用sqliteconnection和sqlitecommand
寫sql訪問了,再裝個ef包,,sqlite也能用ef
再請教下大佬,Access的檔案在沒有安裝Access的客戶機可以實作打開和查詢么
你想對Access進行資料操作不用裝office軟體,裝個專門的微軟Access小程式引擎就可以了。
uj5u.com熱心網友回復:
個人建議用 txt檔案或xml檔案我之前就是用的 txt檔案,存盤時用 \t \r 對表進行轉換,讀取時轉回來,C#對datatable可以用 Linq處理,也是很方便的。
uj5u.com熱心網友回復:
不用資料庫,那就構建記憶體表,利用 List 和 Dictionary 來操作。uj5u.com熱心網友回復:
不用資料庫,那就構建記憶體表,利用 List 和 Dictionary 來操作。
老哥,又提供了一種方法
,學習c#,任重而道遠。。。
uj5u.com熱心網友回復:
json 比較簡單,很多web站點前后臺資料交換都會用json,json是鍵:值對格式比xml操作簡單,速度也比xml格式要快,類似的網頁腳本語言對json的支持都比較好,想來c#也有相關函式吧!uj5u.com熱心網友回復:
json 比較簡單,很多web站點前后臺資料交換都會用json,json是鍵:值對格式比xml操作簡單,速度也比xml格式要快,類似的網頁腳本語言對json的支持都比較好,想來c#也有相關函式吧!
程式員真的方法太多了。。。。
uj5u.com熱心網友回復:
無非就是你想把資料放哪里了。如果需要保留就要考慮的 IO 的方式,資料庫有很多種,檔案存盤也有很多種。如果不需要保留就用 記憶體存盤起來。例如:資料庫 Sqlite ,ACCESS ,excel, LOCALSQL,本地類的。
資料庫 SQLSERVER ,MYSQL ORACLE ,PGSQL,什么的。
記憶體庫 Redis memorycache,
檔案 json,xml,二進制。
還有其他的方式。有些都很少用,看技術的選擇方向,其實都可以實作。
uj5u.com熱心網友回復:
用最基礎的鏈表,定義結構體,存進陣列uj5u.com熱心網友回復:
sqlite3是個輕量級資料庫,很簡單的,vs里nuget安裝幾個包,官網下個驅動,甚至可以直接vs里建資料庫和表,然后用sqliteconnection和sqlitecommand
寫sql訪問了,再裝個ef包,,sqlite也能用ef
再請教下大佬,Access的檔案在沒有安裝Access的客戶機可以實作打開和查詢么
你下載一個對應版本的accessdatabaseengine.exe,安裝在開發用的計算機和目標計算機上就可以了。
uj5u.com熱心網友回復:
不用多想了。sqlite就適合你uj5u.com熱心網友回復:
sqlite非常好用。uj5u.com熱心網友回復:
資料一般使用資料庫中資料表進行存盤,它能保證資料的完整性,一致性,可靠性。資料庫檢索資料很方便。建議使用微軟SQLServer。它與C#能夠完美資料互動。也就是說你用C#實作WinForm功能。用SQLServer存盤資料。使用ADO.Net實作應用程式與資料庫資料互動與通信。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/133011.html
標籤:C#
上一篇:C#位圖區域已被鎖定
