javaweb:数据库表的删除语句

javaweb:数据库表的删除语句,第1张

使用拼接字符串就行:

String sql = "DELETE FROM student WHERE id = '" + id + "'"

但是上述方式存在sql注入风险,

可以使用

perstmt = conn.prepareStatement("DELETE FROM student WHERE id = ?")

perstmt.setString(1,id)

楼上的乱说 getString()方法是从 1 开始的,不是从0.

你这个问题可能是这样的 String sql = "select count('男')as c1 from user where dept='"+dept+"'"这个sql语句中的 as c1 在数据库中当然没问题,但是你result=rs.getInt("c1")就有问题了,getInt()方法后的参数是你结果集中的index或者是数据库中的列名,这个sql语句得到结果集中的数据肯定就一条 ,所以你直接 result=rs.getInt(1)试试看 我也没试过 你看对不对。

我看了下你的代码,这里有问题rs = ptmt.executeQuery(sql)PreparedStatement.executeQuery()这个方法是没有参数的,你加上了参数,因为PreparedStatement是Statement的子类,这样实际上是调用了Statement.executeQuery(sql)这个方法,而你并没有在数据库端编译sql语言,所以返回的rs是空的。

把参数去掉试试

ptmt = conn.prepareStatement(sql)

rs = ptmt.executeQuery()//去掉参数

rs.first()

Java 使用executeUpdate向数据库中创建表格

一、创建mysql.ini文件,配置如下

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://127.0.0.1:3306/select_test

user=root

pass=123456

这样以后修改数据库的配置直接在mysql.ini文件中修改。

二、编写代码

 initParam方法: 获得mysql.ini中的数据

createTale方法: 连接数据库,并且executeUpdate执行sql语句。此例的sql文件为创建表语句。

 main方法: 传入Sql语句。

class ExecuteDDL {

private String driver

private String url

private String user

private String pass

Connection conn

Statement stmt

public void initParam(String paramFile) throws Exception {

Properties props = new Properties()

props.load(new FileInputStream(paramFile))

driver = props.getProperty("driver")

url = props.getProperty("url")

user = props.getProperty("user")

pass = props.getProperty("pass")

}

public void createTale(String sql) throws Exception{

try {

Class.forName(driver)

conn = DriverManager.getConnection(url,user,pass)

stmt = conn.createStatement()

stmt.executeUpdate(sql)

}

finally

{

if (stmt != null) {

stmt.close()

}

if (conn != null) {

conn.close()

}

}

}

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

ExecuteDDL ed = new ExecuteDDL()

ed.initParam("src/mysql.ini")

ed.createTale("create table student " +

"(id int, " +

"name varchar(50), " +

"num varchar(20) )")

System.out.println("Creating table success!")

}

 注意事项:传入的Sql语句最好在MySql测试通过,并且传入的mysql.int文件的路径必须正确。 

当执行完毕后,在MySql的select_test数据库中查看该Student表是否已经创建成功了。

三、使用executeUpdate方法,向表中插入数据。

将上面的创建表的Sql语句改为插入数据表的语句,执行executeUpdate方法,其结果就是想表中插入数据。

创建insertSql变量。

private static String insertSql = "insert into student values(1,'XiaoMing','06108787')"

 执行插入语句。

ed.createTale(insertSql)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9964522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存