看看多线程同步的书。
例如:
void CCalibPage1::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData()
m_nCounter++
double r
CSingleLock sLock(&(gpMainFrm->m_mutex))
sLock.Lock()//此处锁定
double v = gSpindleRevolution
sLock.Unlock()//存取后释放。
if(m_bCalibStart)
{
r = m_CalibValue/v
m_szTestValue0.Format("%f",v)
// m_szTestValue.Format("%f", (v * r))
m_szRatio.Format("%f", r)//
UpdateData(false)
}
else if(m_bVerify)
{
m_szTestValue.Format("%f",v*gcConfig.calib[PCL833_CHANNEL].ratio)
UpdateData(false)
}
if(m_nCounter >30)
{
KillTimer(11)
m_bCalibStart = false
m_bVerify = false
MessageBox(_T("标定完成!"),_T("CNCTest"))
UpdateButtonStatus()
}
CPropertyPage::OnTimer(nIDEvent)
}
参见:
http://baike.baidu.com/view/2808915.htm
定义一个全局的互斥事件CMunex cMunex;当你在一个线程里要连接数据库的时候可以这样:cMunex.lock()
处理完以后可以这样 :cMunex.unlock()
这样就OK了。应该可以解决问题了
1. 配置SQL Server外围应用服务器,开启SQL Server 2005远程连接功能:“配置工具”->“SQL Server外围应用配置器”->选择“服务和连接的外围应用配置器”->选择Database Engine节点下的 “远程连接”->选择“本地连接和远程连接”->选择“同时使用TCP/IP和named pipes”->点击确定,重新启动
数据库
服务。
2. 把登陆设置改为SQL Server 和 Windows 身份验证模式:
打开SQL Server Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQL Server 和 Windows 身份验证模式”。
3.修改SQL Server sa的密码:
在SQL Server Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQL Server2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。
4.设置SQL Server 的端口号
在SQL Server Configuration Manager管理器中,展开SQL Server 2005 Network Configuration项目 ->单击下面的 Protocols for 'dbname' ->在右侧的窗口中,右键单击"TCP/IP"项,选择"属性" ->打开"TCP/IP properties"窗口 - >单击"IP Address"选项卡 ->将所有IP地址下面的 "TCP Port" 值设置成1433
5.确保开启SQL Server服务
在SQL Server Configuration Manager管理器中, 选中SQL Server 2005 Services,在右侧的窗口中启动SQL Server ('YourInstance'),
6. 修改连接字符串,在字符串中加入SQl Server 服务的端口号.
strConnection.Format("driver={SQL Server}Server=xx.xx.xx.xx,1433DATABASE=mydatabaseUID=namePWD=pwd")
7.连接coder:
stdafx.h中引用:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
8. 连接SQL SERVER服务器,并连接数据库
if(!AfxOleInit()) //这就是初始化COM库
{
AfxMessageBox("数据库初始化出错!")
}
_ConnectionPtr pCn("ADODB.Connection")
pCn->Open((_bstr_t)"Driver=
{SQL Server}Server=127.0.0.1,1433Database=carcomUID=saPWD=abc123456","","",adModeUnknown)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)