2017-06-08 每日一记 sqlite3_bind_blob函数

本文详细介绍了 SQLite3 中 sqlite3_bind_blob 函数的使用方法及参数含义,包括如何绑定二进制数据到预处理语句中。适用于需要了解 SQLite3 数据绑定机制的开发者。

sqlite3函数:

 sqlite3_bind_blob( stat, 1, pdata, (int)(length_of_data_in_bytes), NULL );? 
  // 参数1:sqlte_stmt*
  // 参数2:“?”的索引,从1开始
  // 参数3:二进制数据的起始指针
  // 参数4:二进制数据的长度
  // 参数5:析构回调函数,一般默认为空


例:

sqlite3_bind_blob(stmt, 1, buff, 16, NULL);

void air_struct_insert(AirconParaInfo* info,sqlite3_stmt *stmt) { // 获取实时时间 int64_t time = getCurrentTimeWithMilliseconds(); // 绑定整型数据 int index = 1; // 第二帧数据 sqlite3_bind_int(stmt, index++, info->working_mode); sqlite3_bind_int(stmt, index++, info->reserved2_1); sqlite3_bind_int(stmt, index++, info->reserved2_2); sqlite3_bind_int(stmt, index++, info->outlet_temp); sqlite3_bind_int(stmt, index++, info->return_temp); sqlite3_bind_int(stmt, index++, info->environment_temp); sqlite3_bind_int(stmt, index++, info->return_pressure); sqlite3_bind_int(stmt, index++, info->outlet_pressure); sqlite3_bind_int(stmt, index++, info->Unit_Number); sqlite3_bind_int(stmt, index++, info->fault_code); sqlite3_bind_int(stmt, index++, info->fault_level); // 第三帧数据 sqlite3_bind_int(stmt, index++, info->compressor_status); sqlite3_bind_int(stmt, index++, info->heating_belt_status); sqlite3_bind_int(stmt, index++, info->electric_heating_status); sqlite3_bind_int(stmt, index++, info->water_pump_status); sqlite3_bind_int(stmt, index++, info->fan1_status); sqlite3_bind_int(stmt, index++, info->fan2_status); sqlite3_bind_int(stmt, index++, info->fan3_status); sqlite3_bind_int(stmt, index++, info->reserved3_1); sqlite3_bind_int(stmt, index++, info->compressor_speed); sqlite3_bind_int(stmt, index++, info->water_pump_speed); sqlite3_bind_int(stmt, index++, info->reserved3_2); sqlite3_bind_int(stmt, index++, info->reserved3_3); sqlite3_bind_int(stmt, index++, info->reserved3_4); sqlite3_bind_int(stmt, index++, info->reserved3_5); sqlite3_bind_int(stmt, index++, info->reserved3_6); // 第四帧数据 sqlite3_bind_int(stmt, index++, info->outlet_return_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->ac_over_voltage_alarm); sqlite3_bind_int(stmt, index++, info->ac_under_voltage_alarm); sqlite3_bind_int(stmt, index++, info->reserved4_1); sqlite3_bind_int(stmt, index++, info->reserved4_2); sqlite3_bind_int(stmt, index++, info->reserved4_3); sqlite3_bind_int(stmt, index++, info->reserved4_4); sqlite3_bind_int(stmt, index++, info->reserved4_5); sqlite3_bind_int(stmt, index++, info->reserved4_6); sqlite3_bind_int(stmt, index++, info->reserved4_7); sqlite3_bind_int(stmt, index++, info->reserved4_8); sqlite3_bind_int(stmt, index++, info->reserved4_9); sqlite3_bind_int(stmt, index++, info->reserved4_10); sqlite3_bind_int(stmt, index++, info->reserved4_11); // 第五帧数据 sqlite3_bind_int(stmt, index++, info->outlet_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->return_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->low_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->outlet_temp_sensor_fault); sqlite3_bind_int(stmt, index++, info->system_low_pressure_alarm); sqlite3_bind_int(stmt, index++, info->system_high_pressure_switch_alarm); sqlite3_bind_int(stmt, index++, info->exhaust_temp_high_alarm); sqlite3_bind_int(stmt, index++, info->can_communication_fault_alarm); sqlite3_bind_int(stmt, index++, info->suction_temp_sensor_fault); sqlite3_bind_int(stmt, index++, info->cooling_system_abnormal); sqlite3_bind_int(stmt, index++, info->low_suction_overheat_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_over_voltage_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_under_voltage_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_over_current_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_over_temp_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_comm_fault_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_phase_loss_alarm); sqlite3_bind_int(stmt, index++, info->compressor_vfd_other_fault_alarm); sqlite3_bind_int(stmt, index++, info->water_pressure_low); sqlite3_bind_int(stmt, index++, info->exhaust_temp_high_lock); sqlite3_bind_int(stmt, index++, info->system_high_pressure_lock); sqlite3_bind_int(stmt, index++, info->system_low_pressure_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_overcurrent_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_overvoltage_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_undervoltage_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_overtemp_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_phase_loss_lock); sqlite3_bind_int(stmt, index++, info->comp_inverter_other_fault_lock); sqlite3_bind_int(stmt, index++, info->reserved5_1); sqlite3_bind_int(stmt, index++, info->reserved5_2); sqlite3_bind_int(stmt, index++, info->reserved5_3); sqlite3_bind_int(stmt, index++, info->reserved5_4); sqlite3_bind_int(stmt, index++, info->reserved5_5); // 第六帧数据 sqlite3_bind_int(stmt, index++, info->high_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->environment_temp_sensor_fault); sqlite3_bind_int(stmt, index++, info->return_temp_sensor_fault); sqlite3_bind_int(stmt, index++, info->exhaust_temp_sensor_fault); sqlite3_bind_int(stmt, index++, info->reserved6_1); sqlite3_bind_int(stmt, index++, info->reserved6_2); sqlite3_bind_int(stmt, index++, info->outlet_low_temp_alarm); sqlite3_bind_int(stmt, index++, info->outlet_high_temp_alarm); sqlite3_bind_int(stmt, index++, info->outlet_pressure_high_alarm); sqlite3_bind_int(stmt, index++, info->reserved6_3); sqlite3_bind_int(stmt, index++, info->reserved6_4); sqlite3_bind_int(stmt, index++, info->reserved6_5); sqlite3_bind_int(stmt, index++, info->reserved6_6); sqlite3_bind_int(stmt, index++, info->reserved6_7); sqlite3_bind_int(stmt, index++, info->System_water_shortage_alarm); sqlite3_bind_int(stmt, index++, info->condensate_pressure_high); sqlite3_bind_int(stmt, index++, info->high_pressure_temperature_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->low_pressure_temperature_pressure_sensor_fault); sqlite3_bind_int(stmt, index++, info->Lack_malfunction_refrigerant); sqlite3_bind_int(stmt, index++, info->Electronic_water_pump_fault); sqlite3_bind_int(stmt, index++, info->Electronic_expansion_valve_fault); sqlite3_bind_int(stmt, index++, info->Electronic_fan_fault); sqlite3_bind_int(stmt, index++, info->high_pressure_temperature_sensor_temperature_fault); sqlite3_bind_int(stmt, index++, info->low_pressure_temperature_sensor_temperature_fault); sqlite3_bind_int(stmt, index++, info->Fault_battery_import_temperature_sensor); sqlite3_bind_int(stmt, index++, info->Fault_battery_import_pressure_sensor); sqlite3_bind_int(stmt, index++, info->Fault_battery_exit_temperature_sensor); sqlite3_bind_int(stmt, index++, info->Communication_Lost_Fault_Electronic_Water_Pump); sqlite3_bind_int(stmt, index++, info->Communication_Lost_Fault_Electronic_Expansion_Valve); sqlite3_bind_int(stmt, index++, info->Communication_Lost_Fault_Compressor); sqlite3_bind_int(stmt, index++, info->ERROR_ConnectionTimedOut); sqlite3_bind_int64(stmt, index++, time); }
最新发布
09-24
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值