VC++6.0 LISTBOX 连接 ACCESS数据库, 有好心人帮忙吗?
我在做一个硬件报修,界面上有一个LISTBOX用来显示数据库内容,一个COMBO、三个文本编辑框和一个DATATIME用来编辑内容进行查找或者增添。我现在实现不了数据库连...
我在做一个硬件报修,界面上有 一个LISTBOX 用来显示数据库内容, 一个COMBO、三个文本编辑框和一个DATATIME 用来编辑内容 进行查找或者增添。 我现在实现不了数据库连接及相关操作。 有没有高手帮我完成其中的代码? 数据库名为:DoubleStartChargeSysTem.mdb
表名(硬件数据):TaiQiuZheUserInformationRecond 字段:UserNumber(序号) UserJiaGe(价格) UserWeiZhi(位置) Mark(备注)
表名(报修信息数据): UserBaoXiu 字段:UserNumber ,UserWeiZhi, UserBaoXiuTime (报修时间)UserSunHuaiBuWei(损坏部位) UserSunHuaiYunaYin(损坏原因)
有没有高手帮忙?对高手来说应该不难吧, 小小的出手,救人于水火当中。 展开
表名(硬件数据):TaiQiuZheUserInformationRecond 字段:UserNumber(序号) UserJiaGe(价格) UserWeiZhi(位置) Mark(备注)
表名(报修信息数据): UserBaoXiu 字段:UserNumber ,UserWeiZhi, UserBaoXiuTime (报修时间)UserSunHuaiBuWei(损坏部位) UserSunHuaiYunaYin(损坏原因)
有没有高手帮忙?对高手来说应该不难吧, 小小的出手,救人于水火当中。 展开
1个回答
展开全部
ACCESS 语句自己搞定
写一个头文件 SQL_Execute.h
#pragma once
// CSQL_Execute 命令目标
#include <afxdao.h> //数据库MFC DAO
class CSQL_Execute : public CObject
{
public:
CSQL_Execute();
virtual ~CSQL_Execute();
bool G_execute(CString m_sql);
// 数据库路径
CString DB_PATH;
CString DB_PWD;
};
SQL_Execute.cpp
代码如下
// SQL_Execute.cpp : 实现文件
//
#include "stdafx.h"
#include "newjp.h" //这点不用我说了吧
#include "SQL_Execute.h"
CSQL_Execute::CSQL_Execute()
{
DB_PATH="fm.dll"; //数据库地址path
DB_PWD = ";PWD=rad120";//数据库密码 没有可以不填
}
CSQL_Execute::~CSQL_Execute()
{
}
// CSQL_Execute 成员函数
//主要执行一些SQL语句 ,比如录入数据库,insert,update,delete着
// false 执行错误
bool CSQL_Execute::G_execute(CString m_sql)
{
if(""==m_sql)
{
return false;
}
CDaoDatabase MDBcontent;
MDBcontent.Open(DB_PATH,FALSE,FALSE,DB_PWD);
if(MDBcontent.IsOpen()){
MDBcontent.Execute(m_sql);
MDBcontent.Close();
return true;
}
return false;
}
然后 在你想要调用的头文件
#include "SQL_Execute.h"
CDaoDatabase MDBContent;
CSQL_Execute show;//引出实例化的数据库连接
listbox ////--->
/////////此处省略其他代码//////
CListCtrl* pCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
CString tmp[4];
int line,ll;
MDBContent.Open(show.DB_PATH,FALSE,FALSE,show.DB_PWD);
if(MDBContent.IsOpen()){
CDaoRecordset CRecordset(&MDBContent);
CRecordset.Open(AFX_DAO_USE_DEFAULT_TYPE,get_sql,dbReadOnly);
if(CRecordset.IsOpen()){
while(!CRecordset.IsEOF())
{
tmp[1] = CRecordset.GetFieldValue(_T("TreeId"));
tmp[2] = CRecordset.GetFieldValue(_T("TreeTtext"));
tmp[3] = CRecordset.GetFieldValue(_T("TreePid"));
line= pCtrlCC->AddString(tmp[2]);
pCtrlCC->SetItemData(line,_ttoi(tmp[1]));
if(pmulu==_T("type")){
if(mulu==tmp[1]) pCtrlCC->SetCurSel(line);
documentID =_T("0");
}else{
if(index_str==tmp[1]) pCtrlCC->SetCurSel(line);
}
CRecordset.MoveNext();
}
}
CRecordset.Close();
MDBContent.Close();
}
/////省略/////////////////////
写一个头文件 SQL_Execute.h
#pragma once
// CSQL_Execute 命令目标
#include <afxdao.h> //数据库MFC DAO
class CSQL_Execute : public CObject
{
public:
CSQL_Execute();
virtual ~CSQL_Execute();
bool G_execute(CString m_sql);
// 数据库路径
CString DB_PATH;
CString DB_PWD;
};
SQL_Execute.cpp
代码如下
// SQL_Execute.cpp : 实现文件
//
#include "stdafx.h"
#include "newjp.h" //这点不用我说了吧
#include "SQL_Execute.h"
CSQL_Execute::CSQL_Execute()
{
DB_PATH="fm.dll"; //数据库地址path
DB_PWD = ";PWD=rad120";//数据库密码 没有可以不填
}
CSQL_Execute::~CSQL_Execute()
{
}
// CSQL_Execute 成员函数
//主要执行一些SQL语句 ,比如录入数据库,insert,update,delete着
// false 执行错误
bool CSQL_Execute::G_execute(CString m_sql)
{
if(""==m_sql)
{
return false;
}
CDaoDatabase MDBcontent;
MDBcontent.Open(DB_PATH,FALSE,FALSE,DB_PWD);
if(MDBcontent.IsOpen()){
MDBcontent.Execute(m_sql);
MDBcontent.Close();
return true;
}
return false;
}
然后 在你想要调用的头文件
#include "SQL_Execute.h"
CDaoDatabase MDBContent;
CSQL_Execute show;//引出实例化的数据库连接
listbox ////--->
/////////此处省略其他代码//////
CListCtrl* pCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
CString tmp[4];
int line,ll;
MDBContent.Open(show.DB_PATH,FALSE,FALSE,show.DB_PWD);
if(MDBContent.IsOpen()){
CDaoRecordset CRecordset(&MDBContent);
CRecordset.Open(AFX_DAO_USE_DEFAULT_TYPE,get_sql,dbReadOnly);
if(CRecordset.IsOpen()){
while(!CRecordset.IsEOF())
{
tmp[1] = CRecordset.GetFieldValue(_T("TreeId"));
tmp[2] = CRecordset.GetFieldValue(_T("TreeTtext"));
tmp[3] = CRecordset.GetFieldValue(_T("TreePid"));
line= pCtrlCC->AddString(tmp[2]);
pCtrlCC->SetItemData(line,_ttoi(tmp[1]));
if(pmulu==_T("type")){
if(mulu==tmp[1]) pCtrlCC->SetCurSel(line);
documentID =_T("0");
}else{
if(index_str==tmp[1]) pCtrlCC->SetCurSel(line);
}
CRecordset.MoveNext();
}
}
CRecordset.Close();
MDBContent.Close();
}
/////省略/////////////////////
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询