[問題] DataBase 欄位有字串長度限制該怎麼解!

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間15年前 (2011/05/01 22:40), 編輯推噓3(3014)
留言17則, 5人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 Programming 看板 #1DlN1yaf ] 作者: QQ29 (我愛阿蓉) 站內: Programming 標題: [問題] DataBase 欄位有字串長度限制該怎麼解! 時間: Sun May 1 22:38:49 2011 抱歉@@ 這實在跟C++語言沒甚麼相干 可是我實在不知道該PO到哪 programming版人氣實在跟這邊差距有點大..... 這問題是有關DataBase的~ 但我用的語言是C# 不過遇到的問題應該是跟語言無關 若不妥 請版主告知 我就刪除. ========================================================================== 遇到一個DataBase的設計問題 我是沒有任何database相關知識背景 survey後 我 是使用 DataContext這個Class http://msdn.microsoft.com/zh-tw/library/system.data.linq.datacontext.aspx 我的某一個Table存的資料是 struct MyData{ string Key; string Content;} 我以為很簡單 但我發現他有一個大問題就是 我insert的字串要是超過4000 length 他就爆出 string truncation exception......... 我無法限制插入字串的長度, 那是使用者輸入的..... 而我也不曉得該怎麼辦~ 我的疑惑點有兩個 1. DB為啥要有字串長度的限制@@ 是怕太長 一筆資料太大嗎?? 2. 若一般人遇到我這種case要怎麼樣 處理呢? 我自己想法是..... (1)我就多宣告幾個Content....例如 struct MyData{string Key; string Content1, Content2, Content3....} 然後要insert資料時把字串以四千 切割照順序 存到1 2 3 然後query時 在寫很無腦的 string Content = 1 + 2 + 3; 這根本就......還是有機會爆炸 但我實在想不到方法 因為他欄位無法動態增加.. (2) 我一筆資料插入 就把Content 存到 Key.txt... 然後MyData改成紀錄 檔案名稱 或是我因為用Key當檔名 就根本不用紀錄檔名了.... 但缺點是 我每次query一筆資料就要 file 開關 一次 多筆就是多次 我認為這缺點很嚴重....畢竟IO很慢 且頻繁..... 我實在不知道該怎麼辦= = 主要是我對DB不熟 只是單純survey這些API 可是不應該只有我會遇到這問題~~不知道大家是如何解決的~ 請各位給點意見 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.70.221 QQ29:轉錄至看板 C_Sharp 05/01 22:39 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.70.221 ※ 編輯: QQ29 來自: 123.192.70.221 (05/01 22:42) ※ 編輯: QQ29 來自: 123.192.70.221 (05/01 22:42) ※ 編輯: QQ29 來自: 123.192.70.221 (05/01 22:43)

05/01 23:03, , 1F
Database 版愛你 ^O^ 看起來應該 DB 資料型態的問題
05/01 23:03, 1F

05/01 23:04, , 2F
宣告的型別對了應該就可以.不過各家支援的型別有差..
05/01 23:04, 2F

05/01 23:05, , 3F
0.0
05/01 23:05, 3F

05/01 23:12, , 4F
我看了DB版 乍看下都是在討論 真正的mysql那種DB耶
05/01 23:12, 4F

05/01 23:14, , 5F
真是知識太淺薄.....不過資料型別 我目前認知是就C#的type...
05/01 23:14, 5F

05/01 23:14, , 6F
那應該就只有string可用了.....真不知該怎麼處理
05/01 23:14, 6F

05/01 23:53, , 7F
我就不信 你用BLOB去存 他也給你這種錯誤!!!
05/01 23:53, 7F

05/01 23:54, , 8F
DB的中文書爆多 隨便拿一本K掉 2/3就夠用了~~~
05/01 23:54, 8F

05/02 00:39, , 9F
@@ 這不是看語言支援的嗎? 還是都有辦法克服??
05/02 00:39, 9F

05/02 00:52, , 10F
呃? 只有我把原 PO 的問題理解成他是自己寫一個資料庫嗎?
05/02 00:52, 10F

05/02 01:05, , 11F
因為C++/CLI程式可以用此類, 所以勉強合版規...
05/02 01:05, 11F

05/02 01:08, , 12F
DB設計問題 通常是指data如何描述和互相建立關聯~
05/02 01:08, 12F

05/02 01:09, , 13F
如果問題是 實作 sorry~ 那 我也不知道了...
05/02 01:09, 13F

05/02 01:25, , 14F
我又看了一次,好像是如LPH說的沒錯
05/02 01:25, 14F

05/02 11:24, , 15F
抱歉 不是自己實作 是我用那link的API 設計一個table
05/02 11:24, 15F

05/02 11:24, , 16F
table裡面都存著MyData可是 他不讓我存太長的string
05/02 11:24, 16F

05/02 11:24, , 17F
令我非常不知該怎辦 但這問題應該不只我碰過....才來此請教
05/02 11:24, 17F
文章代碼(AID): #1DlN3FwN (C_and_CPP)
文章代碼(AID): #1DlN3FwN (C_and_CPP)