我在界面上放了一个DBGrid
_RecordsetPtr m_pRecordset;
m_pRecordset = Conn1.GetRecordSet("select bmdm as 部门代码, bmmc as 部门名称 from dwdm");
m_Grid.SetRefDataSource((LPUNKNOW)m_pRecordset); ---
当执行到这一步时提示错误 找不到成员 这是为什么呢?该如何实现这个功能呢
其他的定义有
CDataGrid m_Grid
DDX_Control(pDX, IDC_DBGRID, m_Grid)
刚开始学VC好多东西都不懂
_RecordsetPtr m_pRecordset;
m_pRecordset = Conn1.GetRecordSet("select bmdm as 部门代码, bmmc as 部门名称 from dwdm");
m_Grid.SetRefDataSource((LPUNKNOW)m_pRecordset); ---
当执行到这一步时提示错误 找不到成员 这是为什么呢?该如何实现这个功能呢
其他的定义有
CDataGrid m_Grid
DDX_Control(pDX, IDC_DBGRID, m_Grid)
刚开始学VC好多东西都不懂
我的是:
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->CursorLocation=adUseClient;
m_pRecordset->Open((_variant_t)str,_variant_t(m_pConn,true),adOpenStatic,adLockOptimistic,adCmdText);
m_grid.SetRefDataSource(NULL);
m_grid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_pConn.CreateInstance("ADODB.Connection");
try{
m_pConn->Open((_bstr_t)m_strConnect,"","",adConnectUnspecified);
}catch(_com_error e){
MessageBox("连接数据库失败!");
}
为什么DBGrid里面确实变成3条数据了(表里面有3条数据),但是是3条空白纪录
我改了SQL语句,取3个字段出来,它还是两列空白的
会是什么地方的问题呢
m_pRecordset->CursorLocation=adUseClient;
{
_bstr_t vSQL;
CString sSQL, sTmp;
_ConnectionPtr Conn2;
_RecordsetPtr m_pRecordset; m_pRecordset.CreateInstance("ADODB.Recordset");
Conn2.CreateInstance("ADODB.Connection");
UpdateData(TRUE); //将控件的值读取到成员变量中
//设置SELECT语句
sSQL = "SELECT bmdm as 部门代码,bmmc as 部门名称,bmjj as 部门简介 from dwbm";
vSQL = "Provider=SQLNCLI.1;Password=jubo0204;Persist Security Info=True;User ID=sa;Initial Catalog=Training;Data Source=10.1.13.214";
Conn2->Open(vSQL, "", "", adModeUnknown);
m_pRecordset->CursorLocation = adUseClient;
m_pRecordset->Open((_variant_t)sSQL, _variant_t(Conn2, true),
adOpenStatic, adLockOptimistic, adCmdText);
/*
m_pRecordset->MoveFirst();
while (!m_pRecordset->adoEOF)
{
//sTmp = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("bmdm");
MessageBox("ss", "test", MB_OK);
m_pRecordset->MoveNext();
};
*/
m_Grid.SetRefDataSource(NULL);
m_Grid.SetRefDataSource((LPUNKNOWN)m_pRecordset);}
就是datagrid不显示?
DBGrid现在是 2列 * 3行的空白格子(表里面有3条记录的)
加上这个呢?
现在看我也不知道哪错的
open之前设置这个属性
m_pRecordset->Open((_variant_t)sSQL, _variant_t(Conn2, true),
adOpenStatic, adLockOptimistic, adCmdText);
是在recordset open之前
这样呢??
sTmp = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("bmdm");
我想用来取值的,但是不行要出错的加了GetDataSource()后还是一样的空白的2列3行
m_grid也是定义的 CDataGrid是不是m_Grid中没有具体的数据阿,虽然创建了3条记录但是是空的,所以出不来,去取的话就报错了
是不是这种可能性阿
_variant_t RecordsAffected;
_RecordsetPtr pRecordset = NULL; CString strSql; strSql.Format(_T("SELECT * FROM ReaderInfo ")); pRecordset.CreateInstance(_uuidof(Recordset));
pRecordset->CursorLocation = adUseClient;pRecordset->Open(_bstr_t(strSql),
_variant_t((IDispatch *)pConn,true),
adOpenDynamic,
adLockOptimistic,
adCmdText); m_1.SetRefDataSource((LPUNKNOWN)pRecordset->GetDataSource());这是我的代码,ok的
能把你的例子发给我么?邮箱[email protected]
我的是从网上找到的,我安装完后没有在VC目录里找到
是不是我的这个包有什么不对的阿
还不是显示不出来
试试看把中文全换成英文
用最简单的sql,不要as 了等等
问题是我导入 DataGrid 的时候出现了问题
我是直接insert active control没有用project|Add to project|components and controls然后用得别人的Datagrid.h,Datagrid.cpp等文件
我自己从头弄了就好了,不知道是不是这个原因
:(。郁闷,疯了,倒了。
和datagrid还没有关系呢
我也不知道