ODBC连接数据库,防止忘记释放内存之使用模版类
使用模版类创建对像 防止忘记释放new的对像
因为VC6.0不能使用智能指针,所以写出此类
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// RecordsetObject.h: interface for the CRecordsetObject class.//// #if !defined(AFX_RECORDSETOBJECT_H__3DCAE528_1138_4312_BCD9_052B5750324A__INCLUDED_)#define AFX_RECORDSETOBJECT_H__3DCAE528_1138_4312_BCD9_052B5750324A__INCLUDED_ #if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000/// creat BYZT 13.07.08/template<class T& ...
ODBC连接数据库,防止忘记释放内存
封装数据库类模拟 auto_ptr
1234567891011121314151617181920212223242526272829303132class CRecordsetObject{public: CRecordset* __init;public: inline CRecordset* operator->() { return __init; } CRecordsetObject(CDatabase* pDatabase); ~CRecordsetObject(void); private: CRecordsetObject operator=(const CRecordsetObject&); CRecordsetObject (const CRecordsetObject&); CRecordsetObject ();}; CRecordsetObject::CRecordsetObject(CDatabase* pDatabase):__ ...
像素格式OpenGL
像素格式OpenGL像素格式明确了OpenGL绘制平面的特性,如象素缓冲区是单缓冲还是双缓冲,数据是 RGBA方式还是Color Index方式等。每个OpenGL显示设备一般用名为PIXELFORMATDESCRIPTOR的结构来表示某个的像素格式,这个结构包含26个属性信息。Win32定义PIXELFORMATDESCRIPTOR如下所示:12345678910111213141516171819202122232425262728typedef struct tagPIXELFORMATDESCRIPTOR { // pfd WORD nSize; WORD nVersion; DWORD dwFlags; BYTE iPixelType; BYTE cColorBits; BYTE cRedBits; BYTE cRedShift; BYTE cGreenBits; BYTE cGreenShift; BYTE cBlueBits; BYTE cBlueShift; BYTE cAlphaBit ...
OpenGl绘制长方体的源码
12345678910111213141516171819202122232425262728293031323334353637383940414243BOOL DrawCuboid(double x, double y, double z){// glPushMatrix(); double cx = x/2.0; double cy = y/2.0; double cz = z/2.0; glBegin(GL_QUADS); // 左面 glTexCoord2f(0.0f, 0.0f); glVertex3f(-cx, -cy, -cz); glTexCoord2f(1.0f, 0.0f); glVertex3f(-cx, cy, -cz); glTexCoord2f(1.0f, 1.0f); glVertex3f(-cx, cy, cz); glTexCoord2f(0.0f, 1.0f); glVertex3f(-cx, -cy, cz); // 右面 glTexCoord2f ...
MFC手动调用序列化函数Serialize
MFC手动调用序列化函数Serialize的方法1234567891011121314CFile FILE;CString strFile;strFile = m_strPath + _T("parameter.dat");if (!FILE.Open(strFile, CFile::modeRead|CFile::shareDenyNone)){ CString strError; strError = m_strPath + _T("不能创建!"); MessageBox(strError); return VARIANT_FALSE;}CArchive arLoad(&FILE, CArchive::load);Serialize(arLoad);//MFC的序列化函数arLoad.Close();FILE.Close();
mysql left join修改字段
mysql left join当ctable中没与materials表中匹配的记录时,修改materials的up为112UPDATE materials m left join ctable c on m.Id = c.Id SET m.up = 1where c.Id is NULL;
删除table2中table1_id为空的记录1234DELETE t2FROM table1 t1LEFT JOIN table2 t2 ON t1.id = t2.table1_idWHERE t2.table1_id IS NULL