点击树字节点后进行查询记录并将其插入另一个对话框列表出错!

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:23:59
我是在一个树形控件中做,点击其子节点来获得它的父节点的值,从而做为SQL查询条件来搜索,并在列表对话框类中定义了一个_RecordsetPtr cpRst变量,之后定义一个列表对话框的对象:Cdialog2 cd2,通过cd2调用列表关联变量m_list进行插入操作,代码是这样的
void CMyTBDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here

UpdateData(true);
node_name=m_mytree.GetItemText(pNMTreeView->itemNew.hItem);
//在标题栏显示节点信息
SetWindowText(node_name);

HTREEITEM hItem=m_mytree.GetSelectedItem();
HTREEITEM hParent=m_mytree.GetParentItem(hItem);
//得到父节点的值
parent_name=m_mytree.GetItemText(hParent);

//切换面板
if(node_name=="Dialog 1-1"){
m_treePages[0]->ShowWindow(SW_SHOW);
m_treePages[1]->ShowWindow(SW_HIDE);
}
//当点击下面节点时,进行查询并把结果插入另一个对话框的列表
else if(node_name=="Dialog 2-1-1"){
m_treePages[0]->ShowWindow(SW_HIDE);
m_treePages[1]->Sh

Cdialog2 cd2;

while(!pRst->adoEOF) //进行向列表插入记录
{
CString temp;
cd2.m_list.InsertItem(1000,"");
for(int i=0;i<pRst->Fields->Count;i++)
{
temp=(TCHAR*)(_bstr_t)pRst->GetFields()->GetItem((long)i)->Value;

cd2.m_list.SetItemText(row,i,temp);
}
row+=1;
pRst->MoveNext();
}
}
UpdateData(false);
*pResult = 0;

}

很可能是硬件问题哦

首先在一个过程里只需要一个on error 语句。

你是用datagrid绑定的吗?
如果是绑定的,只要你输入数据,就会保存记录的,不管有没有重复,也容易出错。
不要在datagrid里添加记录,在里面修改记录还马马虎虎,最好也不要,很容易误操作的。
应该用 res.addnew 命令添加记录,要添加的数据输入在textbox控件里,用赋值语句赋值到每一个字段里,用res.update保存记录。

If MsgBox("确实要增加吗?", vbYesNo) = vbYes Then '确认是否增加记录
If Text1 = "" Then '判断序号不能为空
MsgBox "序号不能为空!请重新输入." '显示对话框
Text1.SetFocus '使text1获得焦点
Exit Sub '退出,重新输入数据
Else
'判断序号是否已经存在
res.Open

我的U盘插入USB接口以后,在驱动程序安装完后,点击其图标,但是电脑显示请将磁盘插入驱动器,这是为什么 VB中查询数据并将其导出为EXCEL 用ASP 编程实现对数据库的记录进行查询、插入、删除 将U盘插入电脑后,可用已用空间都显示为0字节,是什么原因? ASP编程 点击某个符号、数字或者文字,将其插入到光标所在位置。 将试管口朝下放在火焰上方加热5S后,立即竖立直插入盛水的容器中,并其保持在某一深处。 注册表里怎么新建一个名为“AutoShareWKs”的双字节值,并将其值设为“0 查询后再插入到另一数据的一条T-SQL语句 如何在网页上创建数据库表单,并对其进行查询 找高手 U盘中了病毒,打开时 提示“请将磁盘插入驱动器”,点开属性看到已用空间0字节,可用空间0字节。