日期:2014-05-17  浏览次数:20689 次

c# 有关文本,图片,文件(txt,office文档)等在sqlserver的存储问题?
个人制作的仿qq软件,语言c#,数据库sqlserver.在聊天过程中,聊天消息记录,收发的图片,收发的文档(txt,office文档)等,用何种存储方式,可以存在sqlserver中么?目前sqlserver中聊天数据表包括:SendHostId,ReceiveUserId,Content,CreateDate,IsRead,ModifyDate等字段。其中Content是用来存储聊天记录的。那存储图片和文件需不需要添加另外的字段。byte[] 可以直接存数据库么?求指导……

------解决方案--------------------
可以做一张字典表,对Content进行说明字典表,里面包括字典的ID、类型、中文名长、数据类型、长度。如果需要验证还可以添加正则表达式等字段。再添加一张关联表,消息与字典的关联表。原来存在于数据库中的内容不用更改,以后入一条消息就添加一次关联。不知道有没有更好的方式。有的话请后人补上。
------解决方案--------------------
byte[]可以存varbinary字段,图片可以存image类型的字段(其实也是一种varbinary字段)
最好把cmd也存上,以便反序列化的时候用