最近做一个功能,需要将一串点存储到PostGis某个字段中,思来想去决定用bytea来存储。
数据写入: 1、我是将一串点(x y z)放到一个数组中,例如:CArray<double ,double> pts;
将pts 强转成byte* char* lpBuf = (char*)m_pts.GetData();
2、将byte* 加密,使用encode算法加密;代码下面贴出。
3、ADO 执行语句时 插入。
使用”insert into Table Values( ) ”sql语句操作写入
例:strCmd.Format(" Insert into blob_db VALUES(%d,'aaaaaa','%s') ",9999, str1);
数据读取: 1、使用ADO获取
_RecordsetPtr pRes 结果后
先获取数据长度lDataLength = pRs->GetFields()->GetItem((LPCSTR)strField)->ActualSize