C++使用otlv4在做插入时,有一些设计的坑需要注意
插入数据:
当要给表中插入单个字符时,数据库表设计使用varchar(1)是合理的,但是otlv4一直报错char。
后续查很久才知道,otlv4所写的绑定的字符数组的长度应该实际数组的长度相同(包含’/0’),即比数据库中定义的字符串的长度多一位,因为数据库中不存储末位的’\0’。
//行得通的SQL
otl_stream o(1, //buffer size should be == 1 always on INSERT.
"insert into tb3 values(:f1<char[32]>,:f2<char[64]>,:f3<float>)",
sql_server