首页 > 编程知识 正文

jsp怎么把数据写入数据库(jsp文件怎么连接数据库)

时间:2023-12-15 19:09:12 阅读:316181 作者:QJOT

本文目录一览:

如何把JSP数据写到数据库中?

首先是数据库连接代码类:

然后在你的jsp页面写上调用数据连接类的增删改查就可以了。

不懂hi我

jsp页面中

%

String sqlgetServiceId="select e.id from eip_service e where e.service_name_en='"+serviceName.substring(serviceName.lastIndexOf("_")+1)+"' and e.service_version=1.0";

int sid=BaseDB.queryId(sqlgetServiceId, null);

%

BaseDB.java

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class BaseDB {

public static String URL = "jdbc:oracle:thin:@192.168.174.189:1521:soadb"; //版本管理ERP数据库配置

public static String NAME = "SVMDEV";//用户名

public static String PWD = "SVMPWD";//密码

public static PreparedStatement ps =null;

public static ResultSet rs =null;

public static Connection connection=null;

//获取数据库连接信息

public static Connection getConnection() {

try {

Class.forName("oracle.jdbc.OracleDriver");

if (connection==null) {

connection=DriverManager.getConnection(URL, NAME, PWD);

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return connection;

}

//查询数据,根据相关信息查询得到当前服务的某个需要的id

public static int queryId(String sql,String parameter[] ) {

int getId=0;

try {

connection=getConnection();

ps=connection.prepareStatement(sql);

if (parameter!=null) {

for (int i = 1; i =parameter.length; i++) {

ps.setString(i,parameter[i-1]);

}

}

rs=ps.executeQuery();

if(rs.next()rs!=null){

getId=rs.getInt(1);

}

} catch (SQLException e) {

e.printStackTrace();

}finally{

closeAll(ps, rs, connection);

}

return getId;

}

//修改数据

public static int updateData(String sql,String parameter[] ) {

int count=0;

try {

connection=getConnection();

ps=connection.prepareStatement(sql);

if (parameter!=null) {

for (int i = 1; i =parameter.length; i++) {

ps.setString(i,parameter[i-1]);

}

}

count=ps.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}finally{

closeAll(ps, rs, connection);

}

return count;

}

//插入数据

public static int insertData(String sql,String parameter[]) {

int num=0;

try {

connection=getConnection();

ps=connection.prepareStatement(sql);

if (parameter!=null) {

for (int i = 0; i parameter.length; i++) {

ps.setString(i+1,parameter[i]);

}

}

num=ps.executeUpdate();

} catch (Exception e) {

e.printStackTrace();

}finally{

closeAll(ps,null,connection);

}

return num;

}

//关闭所有

public static void closeAll(PreparedStatement ps,ResultSet rs,Connection connection) {

try {

if (ps!=null) {

ps.close();

}

} catch (Exception e2) {

try {

if (rs!=null) {

rs.close();

rs=null;

}

} catch (Exception e3) {

try {

if (connection!=null) {

//connection.close();

//connection=null;

}

} catch (Exception e4) {

e4.printStackTrace();

}

}

}

}

}

用jsp向数据库插入数据

你的问题我知道了,你想往数据库里插入数据,单纯从jsp页面插入没有现实意义,可以考虑到再编写一个表单页面提交表单数据,在jsp页面用统配符向数据库插入数据。

我大致一个小例子你看看。

zhuce.html

html

body

form name="form1" method="post" action="register.jsp"

p align="center"用户名:

input type="text" name="name"

/p

p align="center"密码:

input type="password" name="password"

/p

p align="center"

input type="submit" name="Submit" value=" 注 册"

/p

/form

/body

/html

register.jsp

%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %

html

body

%

request.setCharacterEncoding("GBK");

String name=request.getParameter("name");//内置对象应该会吧

String password=request.getParameter("password");

try{

Class.forName("org.gjt.mm.mysql.Driver"); //驱动程序你自己的,我的是com.mysql.jdbc.Driver

String url="jdbc:mysql://localhost:3306/tian";//你自己设置数据库名称

Connection con=DriverManager.getConnection(url,"root",""); //如果你mysql中root的密码是空的话最好写成""代替null

String sql="insert into txt (name,password) values ('"+name+"','"+password+"')";//你使用的表是txt,sql建表自己看着办吧

Statement stmt=con.createStatement();

if{

stmt.executeUpdate(sql);

response.sendRedirect("success.html");//根据结果定向成功页面

}else{

response.sendRedirect("f.html");//失败页面

}

}catch(Exception e){

e.printStackTrace();

System.out.println(e);

}

%

/body

/html

至于success.jsp和f.jsp比较简单自己写下吧。

不会了可以上网查资料,或许再提问吧

jsp选项该怎么存数据库

首先在JSP页面的数据库处理部分使用:try {statement(.....); }catch(SQLException e) { 1、像上面的语句中,我不知道是复制过来的还是写错了: String sql=insert into tb_member values('+income+'); 很明显右边少了一个引号: String sql=insert into tb_member values('+income+'); 2、抛出异常中可能说明是违反主键约束:查看数据库表,将次主键约束暂时删除。 3、抛出异常可能说明字符串被截断,说明你定义的char类型太短,一般向这样的字段保持定义在varchar(20)左右。 4、本来还有可能是类型不匹配或指定参数太多或不够等,但就你题目中描述,只有一个字段就能出现这样的异常了。 出于个人开发经验的一点点建议: 以后连接数据库不要这样去连接,尽量使用Bean去完成,不然程序很混乱,以后维护非常困难。 对数据库的操作不要显示地去指定参数和表,尤其是参数,可以使用预处理方式,多步骤连贯操作,可以使用事务来达到数据操作的原子性,当然某些也可以通过数据库的事务去完成。多步骤的非连贯信息的操作可以使用JDBC 3.0提供的批处理方式去完成以提高对数据库的批量访问成10倍得提高效率。 像在做通用模板的时候,对数据库的表的指定的动态赋予的,当然对其某些字段的操作也是动态的,那么数据库类型和参数的个数也是动态的,如果用上述过程去完成非常困难。尤其还要对一些数据库内部的空值异常进行处理。 1、公司数据没有改变,就改变报表的样式。 2、公司报表总数没有变,某些报表数据有增加或删除的现象。 3、公司的报表有增加。 尤其是后面的两者,如果没有通用模板,当发生这些情况,就需要重新编码而且对程序进行从新编译的过程)

JSP里怎么往数据库写入数据?

你的意思不是很明确啊!

比如你的jsp页面中又2个表单元素input type=text name="name"

input type=password name="password"

你填完表单后提交到Servlet还是到一个javaBean啊?

比如你到一个Servlet中用

String a=request.getParameter("name");//能取得你表单元素的值

然后用insert into 表名 values(a);这样就可以把你添加到表单中的值

插入到数据库中!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。