十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
动态创建表格,比如:str你从数据库读出列名,data数据集
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、三门网络推广、小程序开发、三门网络营销、三门企业策划、三门品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供三门建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
这里的data是一个二维数组,
就像
{{学号:001,出生:09-01,成绩99}
{学号:001,出生:09-01,成绩99}
{学号:001,出生:09-01,成绩99}}
生成表格
学号 出生日期 成绩
001 09-01 99
001 09-01 98
001 09-01 99
import java.sql.*;
public class Test
{
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
//一开始必须填一个已经存在的数据库
String url = "jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root", "123456");
Statement stat = conn.createStatement();
//创建数据库hello
stat.executeUpdate("create database hello");
//打开创建的数据库
stat.close();
conn.close();
url = "jdbc:mysql://localhost:3306/hello?useUnicode=truecharacterEncoding=utf-8";
conn = DriverManager.getConnection(url, "root", "123456");
stat = conn.createStatement();
//创建表test
stat.executeUpdate("create table test(id int, name varchar(80))");
//添加数据
stat.executeUpdate("insert into test values(1, '张三')");
stat.executeUpdate("insert into test values(2, '李四')");
//查询数据
ResultSet result = stat.executeQuery("select * from test");
while (result.next())
{
System.out.println(result.getInt("id") + " " + result.getString("name"));
}
//关闭数据库
result.close();
stat.close();
conn.close();
}
}
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("数据库url","帐号","密码");
state=conn.createStatement();
state.executeUpdate("create 建表语句");
state.executeUpdate("insert 插入数据")------插入的值由页面获得,注意字符串拼接。
然后就是关闭连接,state.close();conn.close();
核心代码就是这些,具体应用你可以多写几个方法(增删改查),都是类似的,注意异常的处理,关闭连接最好在finally中进行。
create
or
replace
trigger
trg_delete_count
before
delete
on
student
for
each
row
begin
delete
from
成绩表
where
成绩表.学号=:old.学号;
commit;
end;
想要实现类似的功能,不一定要用触发器的,可以设置两个表的主键和外键,设置级联删除关系,删除主键时,外键表中的记录也会自动删除。
给你一个例子: import java.sql.*; import java.awt.*; public class Createexp { public static void main(String args[]){ String url = jdbc:odbc:wwms; ///wwms 是ODBC的数据源 Connection con = null; Statement sm = null;try{///加载JDBC-ODBC驱动程序 bridge Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); //com.ms.jdbc.odbc.JdbcOdbcDriver /// 不对 com.ms 改为sun } catch(Exception e){ System.out.println(无法装载JDBC-ODBC bridge 驱动程序);return;}/////与数据库建立连接并显示try{con = DriverManager.getConnection(url); sm = con.createStatement(); //创建对象 //执行数据库表的创建操作 sm.execute(create table tb(tepno int, tepname char(10) ));sm.close();
JDBC连接数据库
•创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;