vc中怎么在控件列表中显示mysql的数据啊或者用datagrid显示mysql的数据 10

我用控件列表的时候出现了这样的问题:errorC2228:leftof'.SetItemText'musthaveclass/struct/uniontype,求帮助wh... 我用控件列表的时候出现了这样的问题: error C2228: left of '.SetItemText' must have class/struct/union type,求帮助
while(row = mysql_fetch_row(result))
{
str.Format("%s",row[0]);
m_List.InsertItem(i,str);
str.Format("%s",row[1]);
m_List.SetItemText(i,1,str);
str.Format("%s",row[2]);
m_List.SetItemText(i,2,str);
str.Format("%s",row[3]);
m_List.SetItemText(i,3,str);
str.Format("%s",row[4]);
m_List.SetItemText(i,4,str);
str.Format("%s",row[5]);
m_List.SetItemText(i,5,str);
//str.Format(_T("%s"),row[4]);
//m_List.SetItemText(i,4,str);
i++;
}
展开
 我来答
撕烂你的贝塔cx
2016-03-29 · TA获得超过3943个赞
知道大有可为答主
回答量:2061
采纳率:70%
帮助的人:1274万
展开全部
1、 新建一对话框
在资源视图中新建一个对话框,将对话框调整到适当大小,双击对话框创建对话框类。
2、 往对话框上添加DataGrid控件
在VC6中点击 Project->add to project->components and controls。在弹出的对话框中双击Registered ActiveX Controls 在弹出的控件列表中选择Microsoft DataGrid Control 6.0(SP6)(OLEDB),点击insert,接下来的每一部都点确认按钮(ok按钮)。我们发现在工具箱中多了一个DataGrid控件的图标。

拖动该图标到对话框中,并且调整大小,设置属性为AllowAddNew、AllowDelete、AllowUpdate、ColumnHeaders、Enabled。
在DataCrid上右击用ClassWizard给对话框添加一个DataGrid变量m_dataGrid。
3、 添加代码
在对话框头文件中添加如下代码#import "C://program files//common files//system//ado//msado15.dll" no_namespace rename ("EOF", "adoEOF")
在对话框头文件的对话框类中添加如下代码
_ConnectionPtr pConnection;//数据库连接指针
_RecordsetPtr m_pRecordSet;//数据集指针

重载对话框OnInitDialog()函数,在其中添加如下代码
CoInitialize(NULL); //初始化Com组件pConnection.CreateInstance(__uuidof(Connection)); //Connection用于与数据库服务器的链接
CString conStr; //数据库连接字符串
conStr.Format(_T("Driver=SQL SERVER;Database=%s;Server=%s; UID=%s;PWD=%s;"),"test","(local)","sa","sa");//注:此为ADO连接MS SQL数据库的一种方式,如果不是MS SQL数据库则连接方式不同
/******************连接数据库********************/
try
{
pConnection->ConnectionTimeout = 5; //设置连接时间
pConnection->Open(_bstr_t(conStr),"","",adModeUnknown); //连接SQL SERVER
}
catch(_com_error e) //捕捉异常
{
//AfxMessageBox(e.ErrorMessage());
return -5;
}
//创建数据集

m_pRecordSet.CreateInstance("ADODB.Recordset");
m_pRecordSet->CursorLocation= adUseClient;
CString cmdStr;
cmdStr="select pithology as 岩性,patno as 对应花纹 from Pithology_Patno";
try
{
m_pRecordSet->Open(_variant_t(cmdStr),_variant_t((IDispatch *)pConnection,true),adOpenKeyset,
adLockOptimistic, adCmdUnknown);
}
catch (CException e)
{
CString emsg;
e.GetErrorMessage((LPTSTR)&emsg,1);
AfxMessageBox(emsg);
return false;
}
m_dataGrid.SetRefDataSource(NULL);
m_dataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordSet);
m_dataGrid.Refresh();
CoUninitialize();

现在DataGrid控件便具有添加、删除、修改数据的功能了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式