2 tianxiezhi tianxiezhi 于 2016.05.08 08:58 提问

VC++通过选择组合框条件自动查询数据库,并将查询结果显示到编辑框

问题如标题,目前编写代码如下,但选择组合框条件后没反应
代码如下,诚盼大家指教,我是编程爱好者,为自己做需,谢谢!:
CShiYinShaSet rs;
UpdateData();
CString strSQL;
//ShiYinSha:数据库中表名;
//PiCi:表中列名;
//Si_Pi:组合框ID变量,CString Si_Pi
strSQL.Format("select * from ShiYinSha where PiCi = '%s'", Si_Pi);
if (!rs.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL))
{
AfxMessageBox("打开数据库失败!");
return;
}

while (!rs.IsEOF())
{
    //Si_Si为编辑框变量,CString Si_Si;
    //m_Si为Acces数据库中Si列的变量
    //Si_Si.AddString((LPCTSTR)(CString)rs.m_Si);当使用此行代码时AddString出错
    Si_Si += (LPCTSTR)(CString)rs.m_Si;
    rs.MoveNext();
}
rs.Close();

2个回答

caozhy
caozhy   Ds   Rxr 2016.05.08 09:25

没看到你 Si_Pi在哪里赋值的
如果用的是DDX,那么你需要调用UpdateData

tianxiezhi
tianxiezhi 谢谢!Si_Pi在OnInitialUpdate()赋值,代码如下:
大约 2 年之前 回复
tianxiezhi
tianxiezhi   2016.05.08 09:35

谢谢您的回复,可否给出纠正的代码

Si_Pi 在这里通过数据库查询自动显示数据库字段到组合框中的,使用时可通过下拉框选择
void CXianWeiFormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();

CShiYinShaSet rs;
if (!rs.Open(AFX_DB_USE_DEFAULT_TYPE, "select * from ShiYinSha"))
{
    MessageBox("打开数据库失败!", "数据库错误", MB_OK);
    //return FALSE;
}

while (!rs.IsEOF())
{
    m_ctrSiPi.AddString((LPCTSTR)(CString)rs.m_PiCi);

    rs.MoveNext();
}
rs.Close();
}
tianxiezhi
tianxiezhi 回复caozhy: 可能就确实没有您提到的赋值问题了,谢谢!
大约 2 年之前 回复
tianxiezhi
tianxiezhi 回复caozhy: 谢谢!请教下您,在这里当如何处理啊?
大约 2 年之前 回复
caozhy
caozhy 哪一行赋值了?再说,OnInitialUpdate在界面初始化的时候调用,就算赋值了,也不是你选择以后的值。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
COLORCOMBOX 一个很酷颜色选择组合框 vc MFC
MFC VC COLOR COMBOX颜色组合框 重绘控件 vc界面 COLORCOMBOX 一个很酷颜色选择组合框 vc MFC
消息 按钮,组合框,编辑框,列表框
消息范围 说 明 0 ~ WM_USER – 1 系统消息 WM_USER ~ 0x7FFF 自定义窗口类整数消息 WM_APP ~ 0xBFFF 应用程序自定义消息 0xC000 ~ 0xF
VC++60 第十二章 列表框和组合框
第十二章 列表框和组合框   列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。用户选择可以是多项的,但本章的例程设计为单选的。组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。在编辑框中也可以直接输入。   本章要点 1 列表框的设计、项的添加和删除 2 组合框的设计和使用
编辑框与组合框的选择
智勇三国的聊天内容,以前是用编辑框。 后来为了方便用户选择最近的发言,也方便用户设置自己的快捷发言,改成了组合框。 结果:发言的时候容易误操作,变成最近的发言。   我想换成QQ那样: 输入内容用编辑,当没有输入内容时,单击“发送”按钮会弹出最近发言和快捷发言让用户选择。
通过 WM_CTLCOLOR 设置VC 组合框显示属性(字体、颜色、背景)
在mfc中的对话框里使用组合框控件的时候,在没有重写CComboBox类的情况下,可以通过对话框的 WM_CLTCOLOR 消息的响应函数 OnCtlColor 设置组合框的一些显示特性,包括字体的设置、字体颜色的设置、背景颜色的设置、显示文本部分的背景颜色的设置,同时,这些设置有可以分别针对组合框中的编辑框、组合框中的列表框、组合框只读时的静态文本框(组合框的构成就是这三个部分)。 参考代码:
MFC发送消息设置组合框CComboBox控件的高度和宽度
MFC进行界面编程时,组合框CComboBox控件在可视化设计组件的时候是无法进行高度编辑的,但是我们在实际的项目中经常需要定制组合框CComboBox的高度以得到良好的用户体验。本文介绍通过发送CB_SETITEMHEIGHT消息给控件的方法实现改变CComboBox控件的高度。
25、C#里面TextBox编辑框的使用
不论是在C#里面,还是在其它编程语言中,编辑框都是常用的组件之一。编辑框组件最重用的属性和事件也就那么几个。虽然TextBox组件的属性和事件很多很多。 下面对TextBox组件的属性和事件进行下使用说明。 1、Multiline。该属性有2个值,一个是true,一个是false。如果为true,就是表示可以在编辑框中输入多行;如果为false,就是表示可以在编辑框中输入一行。 如下图:
vs2015 c#通过ComboBox选择查询类别并在TextBox输入条件进行查询
 t using Sytem; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; u
JSP查询数据库并显示结果的程序
一、jsp连接Oracle8/8i/9i数据库(用thin模式)   testoracle.jsp如下:           String   url= "jdbc:oracle:thin:@localhost:1521:orcl ";   //orcl为你的数据库的SID   String   user= "scott ";   String   password= "tiger ";
在listctrl中添加edit和combox控件
1.定义成员变量: CComboBox m_Cmb;  、、将它与组合框控件关联, CEdit m_Edit;、、将它与编辑框控件关联, int m_row,m_col;  //记录用户点击的那个单元格所在的行与列号 2.添加listctrl的单击响应消息主要是完成了单击后将控件显示出来。添加代码如下 void CControllerDialogAdd::OnClickListD