CColumns columns=m_grid.GetColumns();
VARIANT ss;
ss.vt=0;<---------改为::
CColumn col=columns.GetItem((const VARIANT)ss);
col.SetText("终端ID");
一切OK!
CColumns columns=m_grid.GetColumns();
VARIANT ss;
ss.vt=1;<---------改为1;则同样出错???WHY???!!
CColumn col=columns.GetItem((const VARIANT)ss);
col.SetText("终端ID");
VARIANT ss;
ss.vt=0;<---------改为::
CColumn col=columns.GetItem((const VARIANT)ss);
col.SetText("终端ID");
一切OK!
CColumns columns=m_grid.GetColumns();
VARIANT ss;
ss.vt=1;<---------改为1;则同样出错???WHY???!!
CColumn col=columns.GetItem((const VARIANT)ss);
col.SetText("终端ID");
如果你不设置vt,当然或有类型不匹配。设置为VT_EMPTY没出错那是你走运。严格来说vt应该设置为VT_I4或VT_I2(datagrid可能在类型上有多种支持,只要是数字或EMPTY);你好像不太清楚怎么用VARIANT.
其实如果你用COleVariant的话会比较方便.建议你好好读一读MSDN关于VARIANT和COleVariant的介绍.
我老大给我详细的讲了一下!
高手毕竟是高手!义语中的!!
叫个朋友?!
我的MAIL: [email protected]
您老兄发一段SOURCE ,操纵MSADO和data grid 控件的!
我很急!!!(人有三急...._);
VB是不用写任何代码,若ADD,DELETE,UPDATE ,直接recordset.add,delete,refresh,就可以!我想在用ODBC联接INTERBASE,想1)将表头改为中文(基本解决);2)然后实现ADD,DELETE,etc.(1)可是我现在出现"E_FALSE"的错误,(2)其次我不知道怎样捕获错误,?
(3)我将adoctrl m_ado,dbgrid m_grid,Crecordset m_table,它们之间的关系我迷糊,我希望您能给讲讲!!
多谢了!!
30分奉上!!
1.ado的connectstring设置为ODBC数据源(like: DSN=yourdb),recordsource设置为一条sql语句(like: select * from yourtable)
2.datagrid的Datasource设置为ado的窗口ID(like: IDC_YOURADOCTRL1)
3.datagrid在操作数据库时(add,update,delete)会有事件通知你
4.一般用不上CRecordset.因为datagrid+adoctrl自己会操作数据库,你要做的只不过是验证
一些你自己的条件
5.捕捉错误吗?adocrtl好像有个error事件
6.接下来看你自己了....