`
fanjava
  • 浏览: 235734 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

第六篇:数据库开始篇

阅读更多

严重警告:对前面的问题还没弄清楚的,请不要再往下看了<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

开场白:本来是应该从哪里ctrl+v一段关于JDBC的东东给你看看的,是想到它实在有点过于理论和教条,所以就不太过于罗嗦了,但还是讲一点两点,要不然跟我一样蠢笨又一无所知的人真的不知道我写的是“人的代码”还是“机器的代码”。因此强烈的建议你不要跳过以下的内容。

数据库编程的一些基本步骤

注册驱动

创建数据库连接

执行SQL语句获得结果

要用到的一些基本类

Connection

Statement类和PeparedStatement

ResultSet

要注意的问题

数据库操作的时候会出现异常,要注意捕获并处理

用以下的代码做解释

//定义数据库的驱动程序(以下给出的是连接odbc数据库的)

String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";

//定义数据的URL(名称)

String strConnection="jdbc:odbc:myFirstData";

//数据访问的用户名

String strConnectUsername="";

//数据库访问的密码

String strConnectPassword="";

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String sql_temp = “select * from tableName”

try

{

Class.forName(strDriver);//注册驱动

}

catch(ClassNotFoundException ex1)

{

ex1.printStackTrace();//捕获驱动注册过程中的异常

}

try

{

conn = //获得数据库连接

DriverManager.getConnection( strConnection,

strConnectUsername,

strConnectPassword);

stmt = conn.CreateStatement();//创建Statement的对象stmt

rs = stmt.executeQuery(sql_temp);//利用stmt执行SQL操作返回结果集交给rs

}

catch(SQLException ex2)

{

ex2.printStackTrace();

}

来一个例子说明一下如何?

功能描述

写一个用户登陆的程序,用户输入密码,点击“登陆”按钮,在用户数据表中查找,如果有对应的记录,就告诉:你好,欢迎你!如果没有该用户,就提示:用户名或者密码错误,请重新登陆。

哇,终于到了编写有点人摸狗样程序的时候了,以前写的哪能叫程序啊,简直是拿三结构的名字来欺骗人嘛。。。

建立数据库:为了简单就用access建一个吧,数据库的名字就user吧,在odbc中设置一下吧。什么,不知道怎么设置?哦,我现在真的没心情跟你解释。请你解决了这个问题再往下看吧。

建立一个数据表:userTable

用户号码 UserNo 文本

用户密码 PassWord 文本

所在的部门号码 DepartNo 文本

填入几个值吧

111 111 001

222 222 002

333 333 003

登陆的jsp恐怕以后我不会再告诉你怎么写这样的jsp

login.jsp

<%@ page contentType="text/html; charset=gb2312" %>

<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<html:html>

<head>

<title>Login</title>

</head>

<body>

<center>

<pre>

<html:form action="execute.do" method="post">

<h3> 请输入 </h3>

用户名: <html:text property="userID" size="12"/>

: <html:text property="passWord" size="12"/>

<html:submit value="提交"/> <html:reset value="重置"/>

</html:form>

</pre>

</center>

</body>

</html:html>

显示正确结果的页面

success.jsp

<%@ page contentType="text/html; charset=gb2312" %>

<html>

<center>

欢迎你!!

</center>

</html>

提示警告的页面

error.jsp

<%@ page contentType="text/html; charset=gb2312" %>

<html>

<center>

不要意思,您的用户名或密码错误!

</center>

</html>

好了,下面到程序员真正该做的工作了,那就是写java代码啊。

一,不要问在什么地方写java代码

二,不要问用什么办法把java代码编译成类文件

三,不要问把java文件和类文件放在什么地方

……这样的问题我不会再回答。

你千万不要忘了要导入两个JAR包啊

用来保存数据的form

UserForm.java

import org.apache.struts.action.*;

public class UserForm extends ActionForm

{

private String userID = null;

private String passWord = null;

public String getUserID()

{

return userID == null?"": userID.trim();

}

public void setUserID(String userID)

{

this. userID = userID;

}

public String getPassWord()

{

return passWord == null?"": passWord.trim();

}

public void setPassWord(String str2)

{

this. passWord = passWord;

}

}

看见了form了吧,没什么神气的,就是一些属性和关于属性的getset方法

用来处理数据的action

UserAction.java

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.DispatchAction;

public class UserAction extends DispatchAction

{

public ActionForward execute( ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception

{

//获取页面表单信息

UserForm uForm = (UserForm)form;

//from中获得已经被提交的两个数据

String temp_id = uForm. getUserID();

String temp_pass = uForm. getPassWord();

if(!"".equals(temp_id)&&!"".equals(temp_pass))

{

//定义数据库的驱动程序(以下给出的是连接odbc数据库的)

String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";

//定义数据库的URL(名称)

String strConnection="jdbc:odbc:user";

//数据访问的用户名

String strConnectUsername="";

//数据库访问的密码

String strConnectPassword="";

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String sql_temp = "select * from userTable where

UserNo='"+temp_id+"' and

PassWord='"+temp_pass+"'";

try

{

Class.forName(strDriver);//注册驱动

}

catch(ClassNotFoundException ex1)

{//捕获驱动注册过程中的异常

ex1.printStackTrace();

}

try

{

conn = //获得数据库连接

DriverManager.getConnection( strConnection,

strConnectUsername,

strConnectPassword);

//创建Statement的对象stmt

stmt = conn.createStatement();

//利用stmt执行SQL操作返回结果集交给rs

rs = stmt.executeQuery(sql_temp); }

catch(SQLException ex2)

{

ex2.printStackTrace();

}

int temp_count = 0;

//通过这个循环看从数据库中查询出来了多少条记录

while(rs.next())

{

temp_count++;

}

//如果查询有记录,表明输入的用户名和密码正确

if(temp_count>0)

{

return mapping.findForward("ok");

}

else//如果查询没有记录,表明输入的用户名或者密码错误

{

return mapping.findForward("err");

}

}

font-si

分享到:
评论

相关推荐

    springboot项目整合.zip

    第六篇:整合SpringDataJpa] 第七篇:整合Mybatis] 第八篇:通用Mapper与分页插件的集成] 第九篇:整合Lettuce Redis] 第十篇:使用Spring Cache集成Redis] 第十一篇:集成Swagger在线调试] 第十二篇:...

    《数据库系统概论》浙大的PPT

    教材 萨师煊,王珊:数据库系统概论(第三版)基础篇 第一章:绪论 第二章:关系数据库 第三章:关系数据库标准语言SQL 第四章:关系系统及其查询优化 第五章:关系数据理论  设计篇 第六章:数据库设计

    Visual C++实践与提高-数据库开发与工程应用篇 第七章源代码

    《Visual C++实践与提高-数据库开发与工程应用篇》第七章源代码是关于使用Microsoft Visual C++进行数据库开发的实战教程。这个章节可能涵盖了如何利用VC++的MFC(Microsoft Foundation Classes)库来设计和实现...

    数据库系统概论课件&课堂练习

    广东工业大学计算机学院,顾国生老师...第六章 关系数据理论数据库设计 第七章 数据库设计 第八章 数据库编程 系统篇 第九章 关系查询处理和查询优化 第十章 数据库恢复技术 第十一章 并发控制 第十二章 数据库管理系统

    第02篇:WAF Bypass数据库特性(MSsql探索篇)1

    (1)空白字符 (2)注释符号 (3)浮点数 (4)1E0的形式: (5)运算符 (6)小区别: (1)空白字符 (2)注释符号 (3)其他符号 (1)空白字符

    windchill交流第十四篇:系统性能调优

    在"Windchill交流第十四篇:系统性能调优"这个主题中,我们将深入探讨如何优化Windchill系统的运行效率,确保其能够高效、稳定地服务于企业的日常运营。 性能调优是任何大型系统的关键环节,对于Windchill这样的企业...

    SpringBootLearning_forezp.tar.gz

    SpringBoot非官方教程 | 第六篇:springboot整合mybatis SpringBoot非官方教程 | 第七篇:springboot开启声明式事务 SpringBoot非官方教程 | 第八篇:springboot整合mongodb SpringBoot非官方教程 | 第九篇: ...

    SQL数据库管理系统-A.docx

    6. **数据完整性**:数据库管理系统确保数据完整性,包括实体完整性(主键约束)、参照完整性(外键约束)、域完整性(NULL或CHECK约束)以及用户定义的完整性。 7. **SQL Server操作系统支持**:SQL Server 2000...

    完整的数据库系统概论课件,新版,分为基础篇,设计应用开发篇,系统篇,中国人民大学信息学院

    第六章 关系数据理论数据库设计 第七章 数据库设计 第八章 数据库编程 系统篇 第九章 关系查询处理和查询优化 第十章 数据库恢复技术 第十一章 并发控制 * 第十二章 数据库管理系统 第一至第十一章是本科专业的基本...

    最新2020Java学习路线

    从零基础开始学习,第一阶段:Java开篇,第二阶段:Java语言语法,第三阶段:集成开发工具的使用,第四阶段:面向对象,第五Javase进阶,第6阶段 :数据库+JDBC,第7阶段 :前端精讲,第8阶段 :算法篇,第9阶段 :...

    实战Mobile软件工厂之数据库篇

    《实战Mobile软件工厂之数据库篇》是一套全面深入讲解移动应用开发中数据库设计与管理的资源集合,包含PPT、视频教程以及文档示例。这个资料包旨在帮助开发者提升在移动平台上的数据库应用能力,从基础理论到实战...

    LabVIEW宝典课件.ppt

    第六章:属性节点、方法节点及引用 第七章:高级控件的运用 第八章:文本编程与外部接口 第九章:MathScript 第十章:基于组件的程序结构 第十一章:人机交互与编程风格 应用篇 第十二章:VI模板、设计模式、...

    数据库系统概论第四版课后题答案

    这篇文档"数据库系统概论第四版课后题答案"则是针对该教材习题的解答,对于学习数据库的学生来说是一份宝贵的参考资料。 1. 数据库基础:数据库是按照数据结构来组织、存储和管理数据的仓库。它提供了数据的一致性...

    行业-35 生产经验:数据库服务器使用的RAID存储架构初步介绍.rar

    本篇文章将对数据库服务器中使用的RAID存储架构进行初步介绍。 RAID的基本原理是将数据分散到多个硬盘上,根据不同的RAID级别,可以实现不同的功能。目前常见的RAID级别有RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、...

    数据库高级篇.docx

    以上只是一些可能涵盖的数据库高级主题,具体内容会根据第16讲和第17讲的细分话题进一步展开。例如,可能深入讲解某个特定的数据库管理系统(如MySQL、Oracle或SQL Server),或者探讨特定的高级特性如物化视图、...

    Visual C++实践与提高-数据库开发与工程应用篇 第六章源代码

    这个章节,尤其是第六章,可能涵盖了数据库连接、查询、数据操作和界面集成等内容。让我们深入探讨这些关键知识点。 1. **Visual C++与数据库交互**: Visual C++通过MFC(Microsoft Foundation Classes)库提供了对...

Global site tag (gtag.js) - Google Analytics