j2EE框架下的action中如何读取数据库表中的记录条数,如何提取内容,高手请进,在线等!!分数好说!!!!

j2EE框架下的action中如何读取数据库表中的记录条数,如何提取内容,高手请进,在线等!!分数好说!!!!,第1张

就是按照mvc模式被。

action去调用service业务层。然后业务再调用到层。然后才是数据库

请求--》action--》service--》dao--》数据库。

就这样。

至于记录条数都是在dao层。sql语句查询的。然后返回给你int和list。

list迭代或者循环。就是记录。

rs.recordcount

直接返回记录总数

你在SQL中使用count(ID)

as

num

,不也一样是 *** 作数据库自己计算吗,对服务器而言,一样执行了该命令

所以,直接用rs.recordcount,不存在效率问题

二.访问数据库程序 1需求分析:此系统实现如下系统功能:(1)使得学生的管理工作更加清晰、条理化、自动化。(2)查询学生基本资料,容易地完成学生信息的查询 *** 作。(3) 设计人机友好界面,功能安排合理, *** 作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。2.系统功能设计:实现功能:对表实行删除一个记录、移除一个记录和増加一个录。 ODBC应用程序3. 程序流程:应用程序使用基于对话框的MFC应用程序实现,各种 *** 作都是通过对话框中的控件来实现。(1)建立一个ACCESS数据库。(2)建立ODBC数据源,并且连接数据源。 (3)数据库应用程序中的文档和视图文档视图和数据库有很密切的关系,它关系到程序的设计结构。 (4)连接ACCESS数据库 4. 部分实现代码。BOOL CODBC2View::OnMove(UINT nIDMoveCommand) { switch(nIDMoveCommand) {case ID_RECORD_PREV: m_pSet->MovePrev()if(!m_pSet->IsBOF()) break//如果移到记录集的开始,自动执行MoveFirst函数 case ID_RECORD_FIRST: m_pSet->MoveFirst()breakcase ID_RECORD_NEXT: m_pSet->MoveNext()if(!m_pSet->IsEOF()) breakif(!m_pSet->CanScroll()) {//清空屏幕 m_pSet->SetFieldNull(NULL)break} case ID_RECORD_LAST: m_pSet->MoveLast()breakdefault: //异常情况 ASSERT(FALSE)} //交换数据 UpdateData(FALSE)return TRUE//不再需要这个父类的函数 //return CRecordView::OnMove(nIDMoveCommand)}void CODBC2View::OnMoveToRecord() { CMoveToRecord dlgMoveTo//创建CMoveToRecord类的对象实例 if(dlgMoveTo.DoModal()==IDOK) {CRecordset *pSet=OnGetRecordset()//获得指向数据库记录的指针 if(pSet->CanUpdate() &&!pSet->IsDeleted()) //确认所有的修改已经保存 {pSet->Edit()if(!UpdateData()) returnpSet->Update()} pSet->SetAbsolutePosition(dlgMoveTo.m_RecordID)//设置新的位置 UpdateData(FALSE)//更新表单 }}void CODBC2View::OnDeleteRecord() { CRecordsetStatus m_cStatustry{m_pSet->Delete()} catch(CDBException* m_pEx) {AfxMessageBox(m_pEx->m_strError)m_pEx->Delete()m_pSet->MoveFirst()//失败的话,将记录指针移到第一个记录 UpdateData(FALSE)return} m_pSet->GetStatus(m_cStatus)if(m_cStatus.m_lCurrentRecord==0) m_pSet->MoveFirst()//删除了最后一个记录else m_pSet->MoveNext()UpdateData(FALSE)}void CODBC2View::OnUpdateDeleteRecord(CCmdUI* pCmdUI) { pCmdUI->Enable(!m_pSet->IsEOF())}void CODBC2View::OnAddRecord() { CRecordset * pSet=OnGetRecordset()//获取指向数据集的指针 if(pSet->CanUpdate() &&!pSet->IsDeleted())//确认对数据集的任何修改均已经保存 {pSet->Edit()if(!UpdateData()) returnpSet->Update()}long m_lNewID=m_pSet->GetMaxID()+1//获取新的ID值 m_pSet->AddNew()//添加一个新记录 m_pSet->m___ID=m_lNewID//设置新的ID标识 m_pSet->Update()//保存新的记录 m_pSet->Requery()//刷新数据集 m_pSet->MoveLast()//游标移到最后一条记录 UpdateData(FALSE)//更新表单}5.经编译运行得


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9662240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存