|
- #define QUERYSQL "select Key1,Key2,key3,key4 from SystemTab "
- int SystemTabManager::m_TableID=0;
- int SystemTabManager::m_Key1=0;
- //执行查询操作,我现在要的是能锁定SystemTab表,但我在我的SQL语句里添加with(TABLOCKX)就直接抛异常并结束连接。
- //我想知道为什么不能锁表
- int SystemTabManager::getSeqKey1(void)
- {
- DBConnection* conn=NULL;
- SystemTab* pSystemTab=NULL;
- SystemTab::KEY key;
- SystemTab::TABLE Table;
- key.TableId=PatientTab;
- conn=&(DBConnectionFactory::getIntance()->getConnection());
- Statement& stmt=conn->createDyncStatement(QUERYSQL);//执行动态SQL语句
- RecordSet& rs=stmt.executeQuery();
- if(rs.next())//获取字段
- {
- m_Key1=rs.getInt("key1");
- Table.Key2=rs.getInt("Key2");
- Table.Key3=rs.getInt("Key3");
- Table.Key4=rs.getInt("Key4");
- m_TableID = rs.getInt("TableId");
- pSystemTab=new SystemTabImpl(Table);
- }
- else
- {
- conn->close();
- throw DatabaseException("invalid patient seq");
- }
- conn->close();
- return m_Key1;
- }
复制代码
我的程序是用动态SQL语句去执行数据库操作的,现在我要对数据库里的一个表进行加锁!请问怎么样给使用动态语句加锁,或者还有其他的语句加锁? |
|