我做了一个Dialog,上有adodc及datagrid,并用classwizard将为Dialog添加了两个变量及所有的类。但以下代码确不能达到让datagrid出现数据的目的.
UpdateData(FALSE);
CString cnstr,rsstr;
cnstr=_T("driver={microsoft odbc for oracle};server=hosp;uid=hospital;pwd=hospital");
m_adodc.SetConnectionString(cnstr);
rsstr=_T("select * from thermometer");
m_adodc.SetRecordSource(rsstr);
m_dataGrid.Refresh();
UpdateData(TRUE);
请赐教。
我已经将datagrid的DataSource属性设好了。
UpdateData(FALSE);
CString cnstr,rsstr;
cnstr=_T("driver={microsoft odbc for oracle};server=hosp;uid=hospital;pwd=hospital");
m_adodc.SetConnectionString(cnstr);
rsstr=_T("select * from thermometer");
m_adodc.SetRecordSource(rsstr);
m_dataGrid.Refresh();
UpdateData(TRUE);
请赐教。
我已经将datagrid的DataSource属性设好了。
解决方案 »
- VC6 win32控制台程序使用MFC的问题!!!
- 一个巨大的问题等待高手解答
- 在VC++里增加变量后调试成功,但显示界面时系统提示执行exe有错误,是不是内存不够的原因?敬请高人指点。
- 如何知道客户端是否断开连接
- 如何从BCB转型到VC?又该如何去学习VC?
- 文件格式的问题
- 关于用openCV从视频中提取速度的问题。
- 完美自绘滚动条
- 哪有installshield 6.20 or higher 下载????
- 有谁可以给我详细的概要设计和详细设计的例子?
- 大家请帮帮忙!一个关于数据库备份的问题!先谢了!
- 我用m_wndSplitter;把窗体分成了三行,请问我如何让中间的那个VIEW隐藏或者消失,
并且要加一句:
rsstr=_T("select * from thermometer");
m_adodc.SetRecordSource(rsstr);
m_adodc.Refresh();
m_dataGrid.Refresh();
UpdateData(TRUE);
这样就能显示数据了用这种方法想在程序中动态地改变ADO的ConnectionString好象没有用,我试了,我也想这样做,可是不行。你知道后告诉我一下。
在程序中:
m_adodc.SetRecordSource(_T("select * from newtablename"));
m_adodc.Refresh();
就可以了,Datagrid不用refresh,也不用updatedata,昨天刚刚试过!至于动态改变数据源,我也仍在探索中。
明天再没答案,就结贴。
改变数据源:
m_adodc.SetConnectString(_T("Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=newdb;Data Source=yourservername"));
m_adodc.SetRecordSource(_T("select * from newtable"));
这种方法只能连接本地服务器。如果要连网上的其他服务器,则要用IP地址,方法如下:
m_adodc.SetConnectString(_T("Provider=SQLOLEDB; Data Source=xx.xx.xx.xx,1433; Network Library=DBMSSOCN; Initial Catalog=newdb;User ID=sa;Password=pass"));
m_adodc.SetRecordSource(_T("select * from newtable"));
其中的1433是数据库TCP/IP的端口号。
这回差不多了吧?:)