导航:首页 > 数据分析 > 数据库链接用什么类

数据库链接用什么类

发布时间:2023-06-19 11:38:41

⑴ php连接数据库关于PDO类和PDOStatement类的区别是什么

PDO可以兼容更多数据库,同样的语法访问不迹兆同搭梁数据库;

配置简单,操作方便;

PDO对预处理语句的支持需要使用PDOStatement类对象,所以PDOStatement类只是PDO的一部分,这个类比较大作用是防止sql注入:

<?php
//...省略PDO连接数据库代码
$query="insertintocontactinfo(name,address,phone)values(:name,:address,:phone)";
$stmt=$dbh->prepare($query);//调用PDO对象中的prepare()方法
$stmt->blinparam(':name',$name);//将变量$name的引用绑定到准备好的查询名字参数":name"中
$stmt->blinparam(':address',$address);
$stmt->blinparam(':phone',phone);
//...
?>

它是每个字段值可以对知州运应替换的,pdo可以对每个值进行处理,防止sql注入;

⑵ JDBC用来连接数据库的类是哪个类

用这个类吧.好的话,给我加加分.
import java.sql.*;
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();
}
public static Connection getConnection(){
System.out.println("连接中...");
try {
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功连接");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement getStatement(String sql){
System.out.println("执行SQL语句中...");
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql);
System.out.println("执行完查询操作,结果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已执行完毕删除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已执行完毕增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已执行完毕更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查询结果为:");
return rs;
}
public static void closeConnection(){
System.out.println("关闭连接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已关闭ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已关闭Statement");
}
if (conn != null) {
conn.close();
System.out.println("已关闭Connection");
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教学设备')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("编号 "+"类 型");
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ConnectionDemo.closeConnection();
}
}

阅读全文

与数据库链接用什么类相关的资料

热点内容
excel表格文件化乱码 浏览:986
win7无法打开隐藏文件 浏览:757
怎样把压缩文件变成空白文件 浏览:516
wokrNC和UG编程哪个好 浏览:487
爱奇艺随刻文件名 浏览:40
wps是怎么压缩文件 浏览:986
dos配置文件名 浏览:582
java软件工程师做什么 浏览:897
3dmax导出ive文件 浏览:464
数据重复性好是什么意思 浏览:166
如何查找电脑文件使用历史记录 浏览:821
linux可以运行exe的文件吗 浏览:935
库币是哪个国家的app 浏览:201
大智慧internet文件夹有哪些文件 浏览:89
编程培训课程哪个排名好 浏览:124
我的cad怎么没显示文件选项卡 浏览:952
命令行当前是哪个数据库 浏览:588
为什么appstore打开空白 浏览:574
选货车软件什么app最好 浏览:577
psv仙境传说ace如何降级版本 浏览:460

友情链接