JSP显示数据库表格

合集下载

用jsp程序对数据库表进行增、删、差、改操作

用jsp程序对数据库表进行增、删、差、改操作
pstmt.setDate(5,Birth) ;
pstmt.setString(6,request.getParameter("Phone")) ;
pstmt.setFloat(7,Float.parseFloat(Grade)) ;//这个地方的问题要牢记
pstmt.setFloat(8,Float.parseFloat(Use)) ;//这个地方的问题要牢记
生&nbsp;日&nbsp;&nbsp;&nbsp;费:<input type="text"name="Use"><br>
<input type="submit"value="添加">
<input type="reset"value="重置">
</font>
</form>
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
int x = pstmt.executeUpdate() ;//这个用法牢记
%>
<%
if(x>=1){
flag = true;
%>
添加信息成功!
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
<%
}
%>
<%
}catch(Exception e){
e.printStackTrace() ;

Jsp详解

Jsp详解

Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

不管是JSP还是Servlet,虽然都可以用于开发动态web资源。

但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。

JSP 分页显示记录

JSP  分页显示记录

JSP 分页显示记录通过Web进行查询时,有时候由于得到的结果集太大,如果一次性全部通过网络传输过来,不仅浪费网络资源,还会导致客户端的响应时间很长,因此有必要把得到的结果集分页传递给客户端。

数据库分页显示信息是Web应用程序中经常遇到的问题,当用户的数据查询结果太多而超过计算机屏幕显示的范围时,为了方便用户的访问,往往采用数据库分页显示的方式。

对于Web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此需要对分页显示的原理和实现方法进行介绍。

所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:●每页多少条记录($PageSize)●当前是第几页($CurrentPageID)现在只要再给一个结果集,就可以显示某段特定的结果出来。

至于其他的参数,比如:上一页($PreviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以根据前边这几个东西得到。

首先获取记录集中记录的数目,假设总记录数为m,每页显示数量是n,那么总页数的计算公式是:如果m/n的余数大于0,总页数=m/n的商+1;如果m/n的余数等于0,总页数=m/n的商。

即:如果要显示第P页的内容,应当把游标移动到第(P-1)*n+1条记录处。

下面还是以图书信息表bookInfo为例,来实现一个数据库分页显示的案例。

在这之前需要向表bookInfo添加多条记录(具体如何添加,读者可以参考前面所学的将上述保存到Tomcat服务器运行目录下。

打开IE浏览器,在地址栏中输入ht tp://localhost:8080/JSPExample/MySQLFen.jsp,单击【转到】,会显示如图6-18所示窗口:图6-18 分页显示数据。

jsp页面显示数据导出到excel表中

jsp页面显示数据导出到excel表中

jsp页面显示数据导出到excel表中发表时间:2007-01-26内容来源:CSDN作者:佚名Excel报表的方法,一个过於简单,一个只能用於window平台(因为使用jdbc-odbc bridge),且无法使用到Excel内部的各种公式或是方法,因此,今天介绍一个apache出的元件叫POI,它可以在UNIX或window平台处理word或Excel档案,而不需要依靠window的com,并且可设定储存格格式、列印格式等等;今天我来介绍其中有关资料读取、新增、修改及删除的功能,若各位网友研究好其他的功能,麻烦Email给我(ljj@.tw),分享给大家!一、需要用的档案:jakarta-poi-1.8.0-dev-20020917.jar几乎每天都有1.8.0的最新版(但非正式版),正式的版本是1.5.0/builds/jakarta-poi/nightly/将档案复制到classpath所指到的地方二、有兴趣的朋友可以参考/poi/三、先建立一个叫做book1.xls的Excel档,内容如下----------------------------------项目单价数量合计CPU7000535000硬碟250025000记忆体160034800----------------------------------其中合计的栏位是设定公式,单价*数量四、资料读取範例<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %><%@ page import="org.apache.poi.poifs.filesystem.*,ermodel.*" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=MS950"><title>读取Excel档案</title></head><body><table border="1" width="100%"><%FileInputStream finput = new FileInputStream(application.getRealPath("/")+"book1.xls" );//设定FileINputStream读取Excel档POIFSFileSystem fs = new POIFSFileSystem( finput );HSSFWorkbook wb = new HSSFWorkbook(fs);HSSFSheet sheet = wb.getSheetAt(0);//读取第一个工作表,宣告其为sheetfinput.close();HSSFRow row=null;//宣告一列HSSFCell cell=null;//宣告一个储存格short i=0;short y=0;//以巢状迴圈读取所有储存格资料for (i=0;i<=sheet.getLastRowNum();i++){out.println("<tr>");row=sheet.getRow(i);for (y=0;y<row.getLastCellNum();y++){cell=row.getCell(y);out.print("<td>");//判断储存格的格式switch ( cell.getCellType() ){case HSSFCell.CELL_TYPE_NUMERIC:out.print(cell.getNumericCellValue());//getNumericCellValue()会回传double值,若不希望出现小数点,请自行转型为intbreak;case HSSFCell.CELL_TYPE_STRING:out.print( cell.getStringCellValue());break;case HSSFCell.CELL_TYPE_FORMULA:out.print(cell.getNumericCellValue());//读出公式储存格计算後的值//若要读出公式内容,可用cell.getCellFormula()break;default:out.print( "不明的格式");break;}out.println("</td>");}out.println("</tr>");}%></table></body></html>五、资料新增範例<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %><%@ page import="org.apache.poi.poifs.filesystem.*,ermodel.*" %><html><meta http-equiv="Content-Type" content="text/html; charset=MS950"><title>插入资料至Excel档案</title></head><body><%FileInputStream finput = new FileInputStream(application.getRealPath("/")+"book1.xls" ); //设定FileINputStream读取Excel档POIFSFileSystem fs = new POIFSFileSystem( finput );HSSFWorkbook wb = new HSSFWorkbook(fs);HSSFSheet sheet = wb.getSheetAt(0);//读取第一个工作表,宣告其为sheetfinput.close();HSSFRow row=null;//宣告一列HSSFCell cell=null;//宣告一个储存格short i=4;row=sheet.createRow(i);//建立一个新的列,注意是第五列(列及储存格都是从0起算)cell=row.createCell((short)0);cell.setEncoding(HSSFCell.ENCODING_UTF_16);//设定这个储存格的字串要储存双位元cell.setCellValue("显示卡");cell=row.createCell((short)1);cell.setCellValue(1700);cell=row.createCell((short)2);cell.setCellValue(8);cell=row.createCell((short)3);//设定这个储存格为公式储存格,并输入公式cell.setCellFormula("B"+(i+1)+"*C"+(i+1));try{FileOutputStream fout=new FileOutputStream(application.getRealPath("/")+"book1.xls");wb.write(fout);//储存fout.close();out.println("储存成功<a href='book1.xls'>book1.xls</a>");}catch(IOException e){out.println("产生错误,错误讯息:"+e.toString());}%></html>六、资料删除、修改範例<%@ page contentType="text/html;charset=MS950" import="java.util.*,java.io.*" %><%@ page import="org.apache.poi.poifs.filesystem.*,ermodel.*" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=MS950"><title>删除、修改资料至Excel档案</title></head><body><%FileInputStream finput = new FileInputStream(application.getRealPath("/")+"book1.xls" ); //设定FileINputStream读取Excel档POIFSFileSystem fs = new POIFSFileSystem( finput );HSSFWorkbook wb = new HSSFWorkbook(fs);HSSFSheet sheet = wb.getSheetAt(0);//读取第一个工作表,宣告其为sheetfinput.close();HSSFRow row=null;//宣告一列HSSFCell cell=null;//宣告一个储存格row=sheet.getRow((short)4);//取出第五列if (row!=null)sheet.removeRow(row);//先侦测第五列存不存在,若在的话将第五列删除row=sheet.getRow((short)3);//取出第四列cell=row.getCell((short)2);//取出第三个储存格cell.setCellValue(7);//设定该储存格值为7cell=row.getCell((short)3);cell.setCellFormula(cell.getCellFormula());//上两行为取出公式储存格,并重新计算(因为刚才更新过计算公式的值)//如果不做,公式计算後的值不会更新try{FileOutputStream fout=new FileOutputStream(application.getRealPath("/")+"book1.xls");wb.write(fout);//储存fout.close();out.println("储存成功<a href='book1.xls'>book1.xls</a>");}catch(IOException e){out.println("产生错误,错误讯息:"+e.toString());}%></body></html>/gqm1982/archive/2007/01/25/1493229.aspx本篇文章来源于站长资讯网原文链接:/0701/jsp-116977784110490.html。

JSP JSP报表

JSP  JSP报表

JSP JSP报表企业的信息系统中,报表处理一直占比较重要的作用,本节将介绍一种生成PDF 报表的Java组件——iText。

通过在服务器端使用JSP或JavaBean生成PDF报表,客户端采用超级链接显示或下载得到生成的报表,这样就很好地解决了B/S系统的报表处理问题。

1 iText组件的配置iText组件一个能够快速产生PDF文件的Java类库,是著名的开放源码站点sourceforge的一个项目。

通过iText提供的Java类可以生成包含文本、表格、图形等只读文档,还可以将XML、HTML文件转化为PDF文件。

它的类库与java Servlet 有很好的给合。

使用iText与PDF能够使用户正确地控制Servlet的输出。

iText组件可以到/projects/itext/files/iText/iText5.0.6/网站下载,该插件有两个版本:●iText-5.0.6.jar .zip,该版本适用于Windows系统;●iText-src-5.0.6.tar.gz ,该版本适用于UNIX/Linux系统。

下载iText-5.0.6.jar文件后,需要把itext-2.0.7.jar包放入项目目录下的WEB-INF/lib路径中,这样在程序中就可以使用iText类库了。

如果生成的PDF文件中需要出现中文、日文、韩文字符,则需要访问/download.php下载iTextAsian.jar包。

2 通过iText组件生成JSP报表iText作为一个文本输出的Java开源代码,提供了PDF、HTML、RTF等多种文件格式的输出功能。

为输出各种文本提供了一个比较好的封装。

1.PDF文档输出的基本组成部分作为最基本的程序设计实践,下面通过一个经典的范例“I Love JSP”,来说明PDF文档的基本组成部分,代码如下所示。

文件名:easyReport.jsp在上述代码中,可以看出一个PDF文件的输出,总共只需要以下5个步骤。

基于JSP和ODBC技术的网络数据库应用

基于JSP和ODBC技术的网络数据库应用
A SP 文件须先创建和打开数据库连接 ,才可 访问和使用数据库 。连接可保存正访问数据库的 一些状态信息和连接信息 。下列命令是建立一个
连接并打开 SQL Server2000 数据库的实例 :
set Conn = server . Create Object (“ADODB. Connection”) DbPat h = Server. Map Pat h (“pubs. xxl”) Conn. open driver = “{sun. jdbc. odbc. J dbc Odbc Driver} ; get Connection ( U RL) ” 其 中 使 用“set Conn = server . CreateObject (‘ADODB. Connection’) ”创建连接 ,使用“Conn. open driver =‘{sun. jdbc. odbc. J dbc Odbc Driver} ;get Connection ( U RL) ’”语句打开数据 库。
基于 J SP 和 ODBC 技术的网络数据库应用3
徐小林 ,胡平芳
(湖北大学 数学与计算机科学学院 , 武汉 430062)
摘要 :当前互联网技术日新月异 ,因此采用何种技术实现网络数据库显得十分重要 。文章通过 对 J SP 与 ASP 访问数据库技术进行对比研究 ,采用了 J SP 和 ODBC 结合实现网络数据库操作的方 法 ,并给出了网络数据库交换程序实例 。
典型 情 况 之 调 用 指 定 驱 动 器 类 名 的 一 个 Class. forName () 即可 。如果使用 SUN J VM , 驱 动器名为 sun. jdbc. odbc. J dbcOdbcDriver 。应表示为 Class.

第8章 JSP中使用数据库-JSP实用教程(第4版)-耿祥义-清华大学出版社

第8章 JSP中使用数据库-JSP实用教程(第4版)-耿祥义-清华大学出版社
D:\mysql-8.0.18-winx64\bin>mysqld --initialize-insecure
初始化后,必须用管理员身份(在cmd.exe 上单击鼠标右键,选择以管理员身份运行 cmd)启动命令行窗口,然后进入MySQL安
装目录的bin子目录下键入mysqld或 mysqld -nt ,回车确认启动MySQL数据库服
• 小
MySQL数据库管理系统,简称MySQL,是目前流行的开源数据库管理系统, 其社区版(MySQL Community Edition)是可免费下载的开源数据库管理 系统。MySQL最初由瑞典MySQL AB公司开发,目前由Oracle公司负责源代 码的维护和升级。Oracle将MySQL分为社区版和商业版,并保留MySQL开 放源码这一特点。目前许多Web开发项目都选用社区版MySQL,其主要 原因是社区版MySQL的性能卓越,满足许多Web应用已经绰绰有余,而且 社区版MySQL是开源数据库管理系统,可以降低软件的开发和使用成本。
回车确认(进入数 据库也可以没有分 号)进入数据库 bookDatabase
创建bookList表:
create table bookList( ISBN varchar(100) not null, name varchar(100) character set gb2312, price float, publishDate date, primary key(ISBN) );
第8章 JSP中使用数据库
主要内容
• MySQL数据库管理系统 • 连接MySQL数据库 • 查询记录 • 更新、添加与删除记录 • 用结果集操作数据库中的表 • 预处理语句 • 事务 • 分页显示记录 • 连接SQL Server与Access数据库 • 使用连接池 • 标准化考试训练

教你使用JSP访问MySQL数据库

教你使用JSP访问MySQL数据库
//执行Sql语句
String sqlQuery="ቤተ መጻሕፍቲ ባይዱelect count(*) from comment";
sqlRst=sqlStmt.executeQuery (sqlQuery);
sqlRst.next();
int count=sqlRst.getInt(1); //取得总的留言记录数
<td><%=sqlRst.getString("sex")%></td>
<td><%=sqlRst.getString("address") %></td>
<td><%=sqlRst.getString("ip") %></td>
<td><%=sqlRst.getString("post")%></td>
<td align="center">邮编</td>
<td align="center">Oicq</td>
<td align="center">ICQ</td>
<td align="center">电话</td>
<td align="center">留言</td>
<tr>
<td align="center"> ID</td>

jsp页面实现柱形图

jsp页面实现柱形图

在这里柱形图显示的数据是在jsp页面查询后台得到的数据。

因为网页的整体需要才这么做的,最好是在后台获取数据,然后传到前台。

例如把后台查询到的结果通过ResultSet传到前台,在前台拿到:request.getAttribute(“rs”,rs);1、在项目中导入相关的jar包gnujaxp.jar jfreechart-1.0.13.jar jcommon-1.0.17.jar2、在jsp页面中引入相关的jar包:<%@page import="org.jfree.chart.JFreeChart"%><%@page import="org.jfree.chart.ChartRenderingInfo"%><%@page import="org.jfree.chart.servlet.ServletUtilities"%><%@page import="org.jfree.chart.urls.StandardPieURLGenerator"%><%@page import="org.jfree.chart.entity.StandardEntityCollection"%> <%@page import="org.jfree.data.DefaultKeyedValues2D"%><%@page import="org.jfree.data.DataUtilities"%><%@page import="org.jfree.chart.ChartFactory"%><%@pageimport="bels.StandardPieSectionLabelGenerator"%> <%@page import="java.awt.Font"%><%@page import="org.jfree.chart.plot.PlotOrientation"%><%@page import="org.jfree.data.category.DefaultCategoryDataset"%> <%@page import="org.jfree.chart.axis.CategoryAxis"%><%@page import="org.jfree.chart.axis.ValueAxis"%><%@page import="org.jfree.chart.plot.CategoryPlot"%><%@page import="org.jfree.data.category.CategoryDataset"%><%@page import="org.jfree.chart.renderer.category.BarRenderer"%> <%@pageimport="org.jfree.chart.renderer.category.BarRenderer3D"%>3、在jsp页面添加如下代码,并进行适当的修改。

第7章 JSP中使用数据库

第7章  JSP中使用数据库




7.2.3 Statement接口 CallableStatement接口主要用于执行存储过程,其主要 方法同Statement。存储过程有两种参数,IN参数和 OUT参数。CallableStatement接口继承了 PerpareedStatement接口的setXXX方法对IN参数赋值。 在CallableStatement接口中使用OUT参数,要做两件事 情,一是对OUT参数进行类型注册,二是获取OUT参数 的值。 CallableStatement提供了多种方法进行类型注册,下面 是常用的两种:


7.2.5 数据库元数据--DatabaseMetaData和 ResultSetMetaData ResultSetMetaData接口用来获取数据库表的结 构。通过它提供的一些常用方法,可以获得 ResultSet对象中的类型和属性信息的对象。常 用方法如下:


int getColumnType(int column):检索指定列的 SQL类型; String getTableName(int column):获取指定列的 名称;


7.2.5 数据库元数据--DatabaseMetaData和 ResultSetMetaData DatabaseMetaData接口可以从数据库管理系统 中获得数据库的信息,例如数据库所有的表名、 存储过程名等信息。这个类提供了许多方法来 取得这些信息,常用的方法如下:



String getDatabaseProductName():获得数据库的 名称。 ResultSet getCooumns(String databasename,String dboname, String tablename,String columnname):获得表字 段信息,以列的方式存储在一个ResultSet对象中。

如何用jsp连接Access数据库

如何用jsp连接Access数据库

如何用jsp连接Access数据库帐户gjt的163博客前期准备:建立一个Access数据库test.mdb,在里面建立一个表username,其中包含两个字段uid和pwd,均为文本型。

放在项目的web里面(也可以在其他地方)。

方法一:直接用jsp网页链接,代码如下:<%@page contentType="text/html" pageEncoding="UTF-8" language="java"import="java.sql.*"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><%try {String spath = "test.mdb";String dbpath = application.getRealPath(spath);String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + dbpath;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn = DriverManager.getConnection(url);Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);String sql = "select * from username";ResultSet rs = stmt.executeQuery(sql);while (rs.next()) {out.print("用户名:");out.print(rs.getString("uid") + " 密码:");out.print(rs.getString("pwd") + "<br>");}out.print("<br>恭喜你!数据库连接成功!");rs.close();stmt.close();conn.close();} catch (Exception e) {out.print("数据可连接错误!,错误信息如下:<br>");out.print(e.getMessage());}%>方法二:建立Access连接的JavaBean,再用jsp引用(推荐这个方法)首先建立一个JavaBean文件DBConnAccess.java,代码如下import java.sql.*; //导入数据库操作的类public class DBConnAccess { //构造方法,初始化private Connection conn; //连接对象private Statement stmt; //语句对象private ResultSet rs; //结果集对象private String accessdriver; //保存Access驱动程序字符串private String accessURL; //保存Access连接字符串public DBConnAccess(){//Access驱动程序accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver";//连接字符串accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; conn = null;}public Connection getConnToAccess(String dbpath){try{accessURL = accessURL + dbpath;Class.forName(accessdriver);conn = DriverManager.getConnection(accessURL);}catch(Exception e){System.out.println("操作数据库出错,请仔细检查");System.err.println(e.getMessage());}return conn;}//关闭数据库连接public void close(){try{//rs.close();//stmt.close();conn.close();}catch(SQLException sqlexception){sqlexception.printStackTrace();}}}再建立一个jsp文件test.jsp用于测试数据访问效果,代码如下:<%@page contentType="text/html" pageEncoding="UTF-8" language="java"import="java.sql.*"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="DBConn" scope="page" class="cn.fsmo.baidu.base.DBConnAccess"/> <%//连接Accesss数据库String dbpath = "test.mdb"; //Connection conn = DBConn.getConnToAccess(application.getRealPath(dbpath));Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);String sql = "select * from username order by uid";ResultSet rs = stmt.executeQuery(sql);while (rs.next()) {out.print("用户名:");out.print(rs.getString("uid") + " 密码:");out.print(rs.getString("pwd") + "<br>");}DBConn.close();%>以上两个方法值得注意的地方是:1、连接字符串的正确写法,“jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=”后面再加上Access数据库文件的地址及文件名;注意到其中的Driver (*.mdb)中的“r”与“(”之间一定要有空格,否则出错,我就是犯了这个错误,花了很多冤枉时间才改正过来。

用JSP实现将图片存入数据库或从数据库中取出

用JSP实现将图片存入数据库或从数据库中取出

数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。

通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。

但是,如果我们想动态的显示图片,上述方法就不能满足需要了。

我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。

实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。

2、建立后台数据库假定处理的是图片新闻,那么我们可以建立相应的数据库及数据表对象。

我们要存取的数据表结构的SQL脚本如下所示:if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[picturenews]') andOBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[picturenews]GOCREATE TABLE [dbo].[picturenews] ([id] [int] IDENTITY (1, 1) NOT NULL ,[image] [image] NULL ,[content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,[detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO表picturenews中,字段id作为标识,每存储一行数据,自动增加1。

字段image 用于存储图片信息,其数据类型为“image”。

3、向数据库存储二进制图片启动Dreamweaver MX后,新建一个JSP文件。

其代码如下所示。

<%@ page contentType="text/html;charset=gb2312"%><HTML><HEAD><TITLE>存储图片</TITLE></HEAD><body><!-- 下面的窗体将以Post方法,将数据传递给testimage.jsp文件 --><FORM METHOD=POST ACTION="testimage.jsp">新闻标题:<INPUT TYPE="text" NAME="content"><BR>新闻图片:<INPUT TYPE="file" NAME="image"><BR>新闻内容:<TEXTAREA name="txtmail" rows="15" cols="90"style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt;HEIGHT: 200px; WIDTH: 100%" wrap="physical" ></TEXTAREA><br><INPUT TYPE="submit"></form></HTML>将此文件保存为InputImage.jsp文件,其中testimage.jsp文件是用来将图片数据存入数据库的,具体代码如下所示:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序类Connectioncon=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");//建立数据库联机,其中denglu为数据库名,sa为连接数据库的帐号及密码。

jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

jsp从数据库获取数据填充下拉框实现⼆级联动菜单的⽅法本⽂实例讲述了jsp从数据库获取数据填充下拉框实现⼆级联动菜单的⽅法。

分享给⼤家供⼤家参考,具体如下:项⽬告⼀段落,现在将遇到的⽐较实⽤的东西记录下来,写了多遍了,谨记于此,以备查看!1、⾸先在数据库中获取第⼀个下拉框的数据:<s:select listKey="tsFrom" id="t_tsfrom" cssClass="required"listValue="tsFrom" cssStyle="width:90" list="tsfrom1"name="tsFrom" theme="simple" headerKey=""onchange="getTsFromDescribe(this);" headerValue="--请选择--" />后台处理:@Autowiredprivate CustomMaManager custommamanager;//注解相当的好⽤啊,代码都省了⼀⼤截tsfrom1 = custommamanager.getTsFrom();Service://得到投诉来源public List<CustomManage> getTsFrom(){return custommanagedao.getTsFrom();}dao:/**得到产品类型**/public List<CustomManage> getTsFrom(){return this.find("SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC"); }注意:Oracle在java代码⾥取出重复值与SqlServer不⼀样,它得使⽤:复制代码代码如下:SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC先new实体bean(CustomManage)然后在实体bean中给相应字段设置构造⽅法,不然将会出现后台已经返回了值,但是在前台下拉框中不显⽰,下拉框空⽩的现象。

JSP 读取数据库数据

JSP  读取数据库数据

JSP 读取数据库数据
虽然Servlet多用于实现流程控制控制,其实也可实现显示数据,还可以实现业务逻辑处理。

本实例练习使用Servlet实现从数据库读取数据并将数据显示。

具体步骤如下:
(1)在MySQL中创建student数据库,并创建数据库表students如表5-6所示。

(3)实现连接数据库代码。

当Servlet基本结构完成之后,在Servlet中编写代码实现数据库连接,代码如下所示:
当调用getConnection()方法时,会返回一个数据库连接对象con。

(4)实现读取数据库,取得数据。

数据库连接对象创建好之后,即可取得Sta
在getResultSet()方法中,调用getConnection()方法创建一个数据库连接对象co n,下面分别创建Statement对象st和ResultSet对象rs。

(5)调用上述方法,实现获取数据库记录代码,并显示数据。

在doPost()方法中加入代码如下所示:
(6)测试。

在测试之前要配置Servlet,运行结果如图5-24所示。

图5-24 请求Serlet。

JSP 数据显示

JSP  数据显示

JSP 数据显示在上一个小节中,可以成功执行添加、删除和修改数据库数据。

当数据库连接成功后,就可以显示数据库中的数据。

ResultSet接口常用的方法在6.2节中已经做了简单介绍,这里就不再重复。

创建一个案例,演示利用ResultSet接口获取数据库数据。

打开记事本,输入下列代码:将上述代码保存,名称为MysqlResult.jsp。

将该文件复制到C:\Tomcat 6.0\web apps\JSPExample目录下。

打开IE浏览器,在地址栏中输入http://localhost:8080/JSP Example/MySQLResult.jsp,单击【转到】,会显示如图6-15所示窗口:图6-15 显示数据库记录在源文件中,首先创建数据库连接对象conn,并调用该对象的createStatement 方法创建了Statement对象stmt。

stmt对象调用executeQuery方法创建了一个数据集对象rs,其代码为“ResultSet rs=stmt.executeQuery(sql)”,记录集对象rs是符合s ql查询语句的数据集合。

此时rs的指针指向的是第一条数据记录的前面,如果要获取记录集中的数据,需要使用next方法向下移动指针。

在while循环中,退出循环代码“rs.next()”表示,当下面存在数据库记录时,就向下移动到下一条记录。

代码“rs.getString(2)”表示获取从数据集中获取列索引值为2的选项,其他语句依此类推。

在默认情况下,同一时间每个Statement对象在只能打开一个ResultSet对象。

因此,如果读取一个ResultSet对象与读取另一个交叉,则这两个对象必须是由不同的Statement对象生成的。

如果存在某个语句的打开的当前ResultSet对象,则State ment接口中的所有执行方法都会隐式关闭它。

Asp.NetMVC视图(显示数据库数据表格)

Asp.NetMVC视图(显示数据库数据表格)

MVC视图(显⽰数据库数据表格) MVC 视图(显⽰数据库数据表格)在这篇教程中,我⽰范了显⽰⼀系列数据库记录的两个⽅法。

我演⽰了在⼀个HTML表格中格式化⼀系列数据库记录的两个⽅法。

⾸先,我演⽰了如何直接在视图中格式化数据库记录。

接下来,我⽰范了如何在格式化数据库记录时利⽤部分类。

1.1创建模型类我们将要显⽰Movies数据库表中的⼀系列记录。

Movies数据库表包含下⾯的列:Column Name Data Type Allow NullsId Int FalseTitle Nvarchar(200)FalseDirector NVarchar(50)FalseDateReleased DateTime False为了表⽰Movies数据库表,我们将利⽤Linq to SQL作为我们的数据访问技术。

换⾔之,我们将会使⽤LINQ to SQL来绑定我们的MVC模型类。

创建⼀系列LINQ to SQL类的最快办法就是利⽤Visual Studio Object Relational Designer(Visual Studio 对象关系设计器)。

右键点击Models⽂件夹,选择“Add(添加)”,“New Item(新建项)”,选择Linq To Sql类模板,将这个类命名为Movie.dbml,并且点击Add按钮(如图1)。

图1:创建LINQ to SQL类在你创建完Movie Linq to Sql 类以后,会⽴即出现对象关系设计器。

你可以将数据库表从服务器浏览器(Server Explorer)窗⼝中拖曳到对象关系设计器中,以便创建代表着特定数据库表的Linq to Sql类。

你需要将Movies数据库表添加到对象关系设计器中(如图2)。

图2:使⽤对象关系设计器默认情况下,对象关系设计器将会试图创建⼀个类名,该类名是数据库表名的单数版本。

换⾔之,如果你有⼀个叫做Customers的数据库表,那么对象关系设计器将会创建⼀个叫做Customer的类名。

JS操作EXCEL大全

JS操作EXCEL大全

JS操作EXCEL大全一、读取Excel文件读取Excel文件是进行Excel操作的基础。

在JavaScript中,我们可以使用一些库来读取Excel文件,例如xlsx、xlsjs和exceljs等。

1. 使用xlsx库读取Excel文件xlsx是一个用于处理Excel文件的JavaScript库。

您可以通过以下步骤使用xlsx库来读取Excel文件:首先,将xlsx库导入到您的项目中。

您可以使用npm来安装xlsx库,并在代码中引入该库:```npm install xlsxconst XLSX = require('xlsx');```然后,使用XLSX.readFile方法读取Excel文件:```const workbook = XLSX.readFile('example.xlsx');```最后,可以通过workbook.Sheets对象获取Excel文件的内容:```const worksheet = workbook.Sheets['Sheet1'];console.log(XLSX.utils.sheet_to_json(worksheet));```2. 使用xlsjs库读取Excel文件xlsjs是另一个用于读取Excel文件的JavaScript库。

您可以使用以下步骤使用xlsjs库来读取Excel文件:首先,将xlsjs库导入到您的项目中。

您可以使用npm来安装xlsjs 库,并在代码中引入该库:```npm install xlsjsconst XLSX = require('xlsjs');```然后,使用XLSX.readFile方法读取Excel文件:```const workbook = XLSX.readFile('example.xls');```最后,可以通过workbook.Sheets对象获取Excel文件的内容:```const worksheet = workbook.Sheets['Sheet1'];console.log(XLSX.utils.sheet_to_json(worksheet));```二、写入Excel文件在读取Excel文件之后,我们还可以使用JavaScript来写入Excel 文件。

jsp导excel到mysql数据库

jsp导excel到mysql数据库

读到数据库,可以通过jxl来实现,可以把EXCEL文档上传到系统的上传目录下后,然后再取得这个文件,或者直接取得这个文件,对这个文件进行操作。

例子:public void addCustomerAssign(File file,SysExpo expo,SysUser user1)//添加客服中心数据{jxl.Workbook rwb = null;try{//构建Workbook对象, 只读Workbook对象//直接从本地文件创建Workbook//从输入流创建WorkbookInputStream is = new FileInputStream(file);rwb = Workbook.getWorkbook(is);String createTime = DateUtil.getDateTime( "yyyy-MM-dd HH:mm ",new Date()).toString();//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中//Sheet的下标是从0开始//获取第一张Sheet表Sheet rs = rwb.getSheet(0);//获取Sheet表中所包含的总列数// int rsColumns = rs.getColumns();//获取Sheet表中所包含的总行数int rsRows = rs.getRows();//获取指定单元格的对象引用// rs.getCell(列,行);for(int i=1;i <rsRows;i++){//如第一行为属性项则从第二行开始取数据(int i=0 ;i <rsRows;i++)//for(int j=0;j <rsColumns;j++){//Cell cell = rs.getCell(j,i);// System.out.print(cell.getContents()+ " ");// }//Cell cell = rs.getCell(0,i).getContents()+ " ";String cell1= rs.getCell(0,i).getContents()+ " ";//序号String cell7 = rs.getCell(6,i).getContents()+ " ";//公司名称if(cell1!=null&&!cell1.equals( " ")&&cell7!=null&&!cell7.equals( " "))//判断当前行是否为有效行是插入否找下行{Company company = new Company();company.setName(rs.getCell(0,i).getContents()+ " ");//1名称company.setManager(rs.getCell(1,i).getContents()+ " ");//2法人}}}catch(Exception e){e.printStackTrace();}finally{//操作完成时,关闭对象,释放占用的内存空间rwb.close();}}法二:Jsp 中由Excel 导入MySQL数据库(2009-11-15 20:18:49)转载标签:jspmysqlexcelittomysql.jsp<%@ page contentType="text/html; charset=GB2312" %><html><head><title>文件上载</title></head><body><form action="exceltoexcel" method="post">选择文件1:<input type="file" name="excel" /><input type="submit" value="导入" /></form></body></html>db.javapackage tomysql;import java.sql.*;public class db {public Connection connstr = null;public ResultSet res = null;public PreparedStatement prase=null;static private String strUrl ="jdbc:mysql://localhost:3306/wangzhan?useUnicode=true&characterEncoding=gb2312";static private String strUser = "root";static private String strPwd = "7820067";public db(){try{//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//connstr = DriverManager.getConnection(//"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookStore",//"sa","7820067");Class.forName("com.mysql.jdbc.Driver");connstr = DriverManager.getConnection(strUrl, strUser, strPwd);}catch (SQLException ex){System.out.println(ex.getMessage() + "路径错误");}catch (ClassNotFoundException ex){System.out.println(ex.getMessage() + "驱动错误");}finally{System.out.println("成功了");}}public ResultSet executeQuery(String sql){try{Statement stmt=connstr.createStatement();res=stmt.executeQuery(sql);}catch(SQLException ex){System.out.println(ex.getMessage());}return res;}public PreparedStatement dosql(String sql){try{prase=connstr.prepareStatement(sql);}catch(Exception e){}return prase;}}excel.javapackage tomysql;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.util.*;import jxl.Sheet;import jxl.Workbook;public class excel {public List addCustomerAssign(File file)//添加客服中心数据{List ls=new ArrayList();jxl.Workbook rwb = null;try{//构建Workbook对象, 只读Workbook对象//直接从本地文件创建Workbook//从输入流创建WorkbookInputStream is = new FileInputStream(file);rwb = Workbook.getWorkbook(is);// String createTime = DateUtil.getDateTime( "yyyy-MM-dd HH:mm",new Date()).toString();//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中//Sheet的下标是从0开始//获取第一张Sheet表Sheet rs = rwb.getSheet(0);//获取Sheet表中所包含的总列数// int rsColumns = rs.getColumns();//获取Sheet表中所包含的总行数int rsRows = rs.getRows();//获取指定单元格的对象引用// rs.getCell(列,行);for(int i=1;i <rsRows;i++){//如第一行为属性项则从第二行开始取数据(int i=0 ;i <rsRows;i++)//for(int j=0;j <rsColumns;j++){//Cell cell = rs.getCell(j,i);// System.out.print(cell.getContents()+ " ");// }//Cell cell = rs.getCell(0,i).getContents()+ " ";String cell1= rs.getCell(0,i).getContents()+ " ";//序号String cell7 = rs.getCell(1,i).getContents()+ " ";//公司名称String cell8 = rs.getCell(1,i).getContents()+ " ";//公司名称if(cell1!=null&&!cell1.equals( " ")&&cell7!=null&&!cell7.equals( " "))//判断当前行是否为有效行是插入否找下行{mynews ms=new mynews();ms.setTitle(rs.getCell(0,i).getContents());//1名称ms.setAuthor(rs.getCell(1,i).getContents());//2法人ms.setContent(rs.getCell(2,i).getContents());ls.add(ms);}}}catch(Exception e){e.printStackTrace();}finally{//操作完成时,关闭对象,释放占用的内存空间rwb.close();}return ls;}}into.javapackage tomysql;import java.util.*;import java.sql.*;import java.io.*;public class into {String sql="insert into mynews(title,author,content) values(?,?,?)"; db data=new db();public PreparedStatement prase=null;public Boolean insertexcel(mynews ms) {Boolean jiaqi=false;try{prase=data.dosql(sql);prase.setString(1, ms.getTitle()); prase.setString(2, ms.getAuthor()); prase.setString(3, ms.getContent()); prase.executeUpdate();jiaqi=true;}catch(Exception e){e.printStackTrace();}return jiaqi;}}mynews.javapackage tomysql;public class mynews {private int id;private String title;private String author;private String content;public String getAuthor() {return author;}public void setAuthor(String author) { this.author = author;}public String getContent() {return content;}public void setContent(String content) { this.content = content;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) { this.title = title;}}---------------servlet---------------tomysqlservlet.javapackage tomysql;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class tomysqlservlet extends HttpServlet {public tomysqlservlet() {super();}public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {into in=new into();excel ex=new excel();String path=request.getParameter("excel");File file=new File(path);List ls=ex.addCustomerAssign(file);Iterator iter=ls.iterator();while(iter.hasNext()){mynews ms=(mynews)iter.next();if(in.insertexcel(ms))System.out.println("成功");elseSystem.out.println("失败");}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{doGet(request, response);}public void init() throws ServletException {// Put your code here}}。

chap6_在JSP中使用数据库剖析

chap6_在JSP中使用数据库剖析

15
ResultSet对象





ResultSet对象以统一形式的列组织的 数据行组成 Next()方法可以移动游标到下一行 getXxx()方法可以获得字段值,参数为 位置索引或列名 总是可以使用getString()返回字段值的 串表示 不可以颠倒字段的顺序
16
JDBC API中重要的接口和类
与一个数据库建立连接。 向已连接的数据库发送SQL语句。 处理SQL语句返回的结果。
5
3.数据库连接的常用方式
JDBC-ODBC桥接器 纯Java数据库驱动程序

6
JDBC-ODBC桥接器

应用程序建立JDBC和ODBC之间的连接, 即所谓的建立JDBC-ODBC桥接器,而 和数据库的连接由ODBC完成

19
其它查询

条件查询 例5 排序查询 例6 模糊查询 例7
20
5. 更新、添加与删除操作
Statement对象调用方法: public int executeUpdate(String sqlStatement); 通过参数sqlStatement指定的方式实 现对数据库表中记录的更新、添加和删 除操作.
使用 应用 程序
加载
11
连接数据库的步骤

加载纯Java驱动程序 和指定的数据库建立连接
12
加载纯Java驱动程序



安装驱动程序后,将驱动程序文件 sqljdbc .jar复制到JDK的\jre\lib\ext文件 夹中,或者Tomcat服务器安装目录的 common\lib文件夹中 加载驱动程序类,forName方法以完整的 Java类名字符串为参数,该方法将自动创建一 个驱动程序类的实例: Class.forName(“com.microsoft.sqlserver .jdbc.SQLServerDriver”);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%>
</table> </div> </body> </html>
</tr> <% try {
// 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // URL指向要访问的数据库名test String url = "jdbc:mysql://127.0.0.1:3306/shangpin"; // MySQL配置时的用户名 String user = "root"; // MySQL配置时的密码 String password = ""; // 连续数据库
<td colspan="9" align="center" height="30"> <a>商品单价列表</a>
</td> </tr> </table> <table height="400" align="center" border="2" width="60%" cellpadding="1" cellspacing="1" bordercolor="#0000FF" bgcolor="#CCFF66" >
// 输出结果 out.println("<tr> <td >"+id+"</td> <td >"+name+"</td> <td >"+price+"</td> <td >"+status+"</td> </tr>"); } // 关闭结果集 rs.close(); // 关闭连接 connection.close(); } catch(ClassNotFoundException e) { out.println("Sorry,can`t find the Driver!"); e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); }
Connection connection = DriverManager.getConnection(url, user, password);
if(!connection.isClosed()) System.out.println(" 商品信息列表:");
// statement用来执行SQL语句 Statement statement = connection.createStatement(); // 要执行的SQL语句 String sql = "select * from shangpin"; // 执行SQL语句并返回结果集 ResultSet rs = statement.executeQuery(sql); System.out.println(" 编号" + "\t" + " 名称"+ "\t" + "\t" +"\t" +" 价格"+ "\t" + " 状态");
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312" import="java.sql.* "%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>显示商品的单价</title> </head> <body> <div align="center"> <table> <tr>
<tr> <td colspan="9" align="center" class="title" height="30"> 商品信息列表 </td> </tr>
<tr> <td align="center">编号</td> <td align="center">名称</td> <td align="center">价格</td> <td align="center">状态</td>
while(rs.next()) { // 选择id这列数据 int id பைடு நூலகம்rs.getInt("id"); // 选择name这列数据 String name= rs.getString("name");
// 选择price这列数据 float price = rs.getFloat("price"); // 选择status这列数据 String status = rs.getString("status");
相关文档
最新文档