struct怎么写入到数据库的varbinary 中,Sql语句怎么构造?MSSQL

pvlking 2014-09-04 10:40:56
我有一个网络数据包(结构体数据),想 memcpy 内存拷贝到char[] 里后存入数据库, 做为离线消息,等目标上线后,直接取出来放入char[] ,send走。

现在的问题就是怎么存这个char[] 和 读取 char[] ~~~~

求大神指点下~
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pvlking 2014-09-06
  • 打赏
  • 举报
回复
引用 1 楼 u010024618 的回复:
无非是把Char[] = {...} 这个字符列表 解析成一个表的格式(C#可以用DataTable,C可以用结构体数组模拟DataTable),然后将这个DataTable写入数据库。读取的过程就是其逆过程;所以抽象出来的思路可以是: 写过程: DataPackage ---> CHar[] 字符串列表 ----> DataTable-----〉 WriteDB 读取过:ReadDb ----〉DataTable ---> Char[]字符串列表——〉DataPackage ---〉Send()
你的意思就是根据struct 创建个表,每个字段代表一项,分包-入库,出库-组包-发送 。 这是个解决方案。 就是性能上浪费了点,本来就是原封不动的数据包存入数据库,取出后直接就能send走。 所以能以二进制流存入数据某个varbinary 字段中,直接写入,读取就行。应该是最好的实现方案。 尽量能够实现二进制存储就用二进制来做
pvlking 2014-09-06
  • 打赏
  • 举报
回复
引用 2 楼 scsnsjsl_cs_dn 的回复:
其把相关struct的在内存中的数据以二进制的形式写入数据库, 或者把数据库的数据以二进制的形式读取到内存,然后把数据转化对应的struct数据
就是问的 varbinary 这个插入 查询的sql语句要怎么写? 1. 插入数据: insert into 的语句要怎么写? 2. 读取: 查询语句用 cast(字段 as varchar) ? 然后要怎么拷贝到char[] 数组里? memcpy(szBuf,m_pRecord->GetCollect("d_Content"),sizeof(?)): 长度要另外用select 取? 现在插入char[] 都没实现,读取都没法尝试~~~~
freecodex 2014-09-04
  • 打赏
  • 举报
回复
无非是把Char[] = {...} 这个字符列表 解析成一个表的格式(C#可以用DataTable,C可以用结构体数组模拟DataTable),然后将这个DataTable写入数据库。读取的过程就是其逆过程;所以抽象出来的思路可以是: 写过程: DataPackage ---> CHar[] 字符串列表 ----> DataTable-----〉 WriteDB 读取过:ReadDb ----〉DataTable ---> Char[]字符串列表——〉DataPackage ---〉Send()
scsnsjsl_cs_dn 2014-09-04
  • 打赏
  • 举报
回复
其把相关struct的在内存中的数据以二进制的形式写入数据库, 或者把数据库的数据以二进制的形式读取到内存,然后把数据转化对应的struct数据

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧