mysql 结构体_程序中怎么把struct结构体的数据存入mysql数据库的表中?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如题,

我在mysql建一个表table_1,其字段如下:

+--------------------+---------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------------+---------------------+------+-----+---------+-------+

| SN | char(32) | NO | PRI | NULL | |

| MAC | char(32) | NO | | NULL | |

| HWVersion | char(32) | NO | | NULL | |

| DeviceType | tinyint(3) unsigned | YES | | NULL | |

| VideoInputNum | tinyint(3) unsigned | YES | | NULL | |

| VideoCodecCapacity | tinyint(3) unsigned | YES | | NULL | |

| AlarmInputNum | tinyint(3) unsigned | YES | | NULL | |

| Reserve | char(8) | YES | | NULL | |

+--------------------+---------------------+------+-----+---------+-------+

我在应用程序中定义了如下结构体

typedef struct NPE_DEVICE_STATIC_INFO

{

int8_t SN[32];

int8_t MAC[32];

int8_t HWVersion[32];

uint8_t DeviceType;

uint8_t VideoInputNum;

uint8_t VideoCodecCapacity;

uint8_t AlarmInputNum;

uint8_t reserve[8];

}DeviceStaticInfo_s;

问题:

1.用什么方法把这个结构体保存到这个数据库表最为快捷?

我现在是采用把结构体里的成员转成字符串后用insert into插入表中。

如:

insert into table_1 values('ipcsn01','mac01','version01',1,2,3,4,'\0');

但是用这种方法的话,如果结构体很庞大的话,转换相当麻烦,还有别快捷的方法吗?

2.用select 语句查询出来的结果保存在MYSQL_RES res,我想把查询结果转换成struct结构体中,怎么转换呢,

可以直接从MYSQL_RES结构体中提取出来吗?我目前用的方法是从res中提取一行到MYSQL_ROW(char **二维指针)结构体中,

然后一个一个字段从二维数组里边转换出来。

跟问题1一样,如果结构体庞大的话,这个转换过种相当麻烦,请问大神们一般用什么方法把struct结构体存入数据库表中,以及怎么从查询结果中提取数据到struct结构体呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值