_RecordsetPtr m_pRecordSet
m_pConnection.CreateInstance("ADODB.Connection")
if (m_pConnection == NULL)
{
AfxMessageBox("Connection 对象创建失败! 请确认是否初始化了COM环境\r\n")
return
}
try{
m_pConnection->ConnectionTimeout = 10
_bstr_t strCon = "Provider=SQLOLEDB.1Driver={SQL Server}Server=MICROSOF-4DAE95Database=MYDBuid=usernamepwd=userpassword"
m_pConnection->Open(strCon, "", "", adModeUnknown)
MessageBox("已经连接上数据库")
//MICROSOF-4DAE95 是你所启动的服务器名字username 是你登陆服务器的用户名userpassword 是登陆密码
m_pRecordSet.CreateInstance(__uuidof(Recordset))//"ADODB.Recordset"
m_pRecordSet->Open("SELECT * FROM T_mytb", // 查询DemoTable表中所有字段 m_pConnection.GetInterfacePtr(),// 获取库接库的IDispatch指针
adOpenDynamic,adLockOptimistic,adCmdText)
if(!m_pRecordSet->BOF)// _RecordsetPtr m_pRecordSet
m_pRecordSet->MoveFirst()
else
{
AfxMessageBox("表内数据为空")
return
}
// 读入库中各字段并加入列表框中
while(!m_pRecordSet->adoEOF)
{
var = m_pRecordSet->GetCollect("time")
if(var.vt != VT_NULL)
strID = (LPCSTR)_bstr_t(var)
var = m_pRecordSet->GetCollect("terminalID")
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var)
var = m_pRecordSet->GetCollect("objectID")
if(var.vt != VT_NULL)
strAge = (LPCSTR)_bstr_t(var)
var = m_pRecordSet->GetCollect("positionX")
if(var.vt != VT_NULL)
strdate = (LPCSTR)_bstr_t(var)
//m_AccessList列表关联的变量
int n = m_AccessList.GetItemCount()
m_AccessList.InsertItem(n,strID)m_AccessList.SetItemText(n,1,strName)
m_AccessList.SetItemText(n,2,strAge)
m_AccessList.SetItemText(n,3,strdate)
m_pRecordSet->MoveNext()
}
//我试过的没有问题的,记得^-^
一般来说虚拟机跟真实机不同步的喔就像一个独立的电脑一样。但是可以共享文件。共享数据库文件,共享的文件会出现在虚拟机的新盘上面(我的虚拟机只设置一个盘C盘。所以很明显知道新盘),Visual Studio 可以连接数据库文件读取数据而并不用连接到SQL中。这时候选新盘中的数据库文件。可以尝试一下,不过由于条件问题不能亲自帮你测试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)