c4ac448443
git-svn-id: svn://10.65.10.50/trunk@5855 c028cbd2-c16b-5b4b-a496-9718f37d4682
115 lines
2.3 KiB
C++
Executable File
115 lines
2.3 KiB
C++
Executable File
#ifndef __SQLFILE_H__
|
|
#define __SQLFILE_H__
|
|
|
|
class TSqlRecord : public CObject
|
|
{
|
|
CMap<SHORT,SHORT,CString,CString&> m_Fields;
|
|
|
|
public:
|
|
CString Get(SHORT index) const;
|
|
|
|
void Clear();
|
|
int Set(SHORT nIndex, const char* val, DWORD dwSize = 0);
|
|
void SetRecord(CdbRecordset& dbRecordset);
|
|
|
|
BOOL IsEmpty() const { return m_Fields.GetCount() == 0; }
|
|
|
|
TSqlRecord();
|
|
virtual ~TSqlRecord();
|
|
};
|
|
|
|
class TSqlFile : public CObject
|
|
{
|
|
int m_nFirm;
|
|
int m_nLogicNumber;
|
|
CString m_strWhere;
|
|
DWORD m_dwConnection;
|
|
int m_nKey;
|
|
|
|
COleVariant m_oleVariant;
|
|
|
|
BOOL m_bExists;
|
|
DWORD m_dwSnapHandle;
|
|
int m_nItems;
|
|
int m_nStatus;
|
|
|
|
TSqlRecord m_sqlRecord;
|
|
|
|
CMapStringToPtr m_Locks;
|
|
BOOL m_bExclusiveLock;
|
|
|
|
protected:
|
|
int TestOpen() const;
|
|
BOOL Requery();
|
|
|
|
CdbTableDef GetTableDef() const;
|
|
CdbRecordset& GetDynaset() const;
|
|
CdbRecordset& GetSnapshot();
|
|
void CloseSnapshot();
|
|
|
|
const char* VariantToString(const COleVariant& oleVariant) const;
|
|
const char* GetField(CdbRecordset& dbRecordset, const char* strName);
|
|
|
|
|
|
CString BuildKey(CdbRecordset& dbRecordset, int nKey);
|
|
CString BuildKey(const TSqlRecord& sqlRecord, int nKey);
|
|
|
|
int Read(CdbRecordset& dbSnapshot, const char* sKey, int flags);
|
|
|
|
int Lock(CdbRecordset& dbSnapshot);
|
|
|
|
int Unlock(LPCSTR sKey);
|
|
int Unlock(CdbRecordset& dbDynaset);
|
|
void UnlockAll();
|
|
int HandleLock(CdbRecordset& dbRecordset, int nLock);
|
|
|
|
public:
|
|
int LogicNumber() const { return m_nLogicNumber; }
|
|
BOOL IsOpen() const;
|
|
|
|
int Open();
|
|
int Close();
|
|
|
|
int First(int nLock);
|
|
int Prev(int nLock);
|
|
int Next(int nLock);
|
|
int Last(int nLock);
|
|
|
|
int Move(long pos, int nLock);
|
|
int Skip(long pos, int nLock);
|
|
long GetPosition();
|
|
|
|
int Read(const char* sKey, int flags);
|
|
int Remove(const char* sKey);
|
|
int Rewrite(const char* sKey);
|
|
int Write();
|
|
|
|
int ExclusiveLock();
|
|
int ExclusiveUnlock();
|
|
|
|
const char* GetField(const char* strName);
|
|
CString GetFieldInfo(int index) const;
|
|
|
|
int GetRecordCount();
|
|
|
|
int SetKey(int key);
|
|
int GetKey() const;
|
|
|
|
CString GetKeyExpr(int key) const;
|
|
|
|
int ClearFields();
|
|
int SetField(int index, const char* value);
|
|
int SetField(const char* name, const char* value);
|
|
|
|
BOOL Exists() const
|
|
{ return m_bExists; }
|
|
|
|
BOOL SetFirm(int nFirm);
|
|
|
|
TSqlFile(int nFirm, int nLogicNumber,
|
|
LPCSTR sWhere, DWORD dwConnection);
|
|
virtual ~TSqlFile();
|
|
};
|
|
|
|
#endif
|