可以用事务保证数据一致性,搜下“SQL Server 事务”就出来了。
解决方案 »
- [Help]SMTP发邮件,附件太大发送失败。。。
- void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
- 求助,我在动态库中,想用CWnd,怎么用。
- 如何修改基于对话框的程序的ClassName?
- 谁有<Windows网络编程>电子书
- 在VC中使用MICROSOFT 的WINSOCK控件时不知Connect 怎么用?
- 谁有可以改变指定行背景颜色的CListCtrl哦,告诉我好么,本人不胜感激!!!!
- 关于mysql连接的问题
- 关于CScrollView的使用,请各位指点菜鸟,谢谢!
- 请各位帮俺解决LoadLibrary问题,有分哟!
- xp下加载图标文件失败的原因
- 怎样隔一段时间发送一次数据?
我从网上找的资料:
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务用于写数据库时,逻辑相关的记录要么都写,要么都不写。我的数据库中T1表的记录都是独立的,T2表的记录也是独立的,线程1写T1表,线程2读T1表,线程3读写T2表,好像不存在数据一致性的问题吧?
你说的很对,MS SQL SERVER还是不错的,应该不存在这些问题。MS SQL SERVER数据库是多线程的吧?当应用程序的多个线程操作数据库的时候,这些操作会不会并发执行?
我从网上找的资料:
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务用于写数据库时,逻辑相关的记录要么都写,要么都不写。我的数据库中T1表的记录都是独立的,T2表的记录也是独立的,线程1写T1表,线程2读T1表,线程3读写T2表,好像不存在数据一致性的问题吧?
有一致性问题,有点像下面的函数
int g_global = 0;
void test()
{
g_global++;
g_global++;
g_global++;
}在写线程中调用test,在读线程中你读g_global,这个值是未知的,可能获得是中间值,不是执行完test后的你要的结果。