我正在尝试使用java netbean通过自己的接口将数据插入数据库但是我入查询卡住了,这是我的代码段
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package youthsociety;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
/**
*
* @author Rathnayaka RMBS
*/
public class dbop {
String url="jdbc:mysql://localhost:3306/youthsociety";
String username="root";
String password="";
Connection con=null;
Statement st=null;
public void addmember(memberdata m){
try{
con=(Connection)DriverManager.getConnection(url,username,password);
String query="INSERT INTO members VALUES(?,?,?,?,?,?,?,?)";
st=(Statement)con.createStatement();
st.executeUpdate(query);
}catch(Exception e){
}
}
}
st.executeUpdate(query( 标记为错误。
好的,让我解释一下你的问题。
- 您尚未配置 jdbc 驱动程序。
- 不需要施放任何东西!
- 你有问号"?在您的查询中,并且您使用简单的语句类而不是 PreparedStatement来执行。
现在,如果您使用的是简单语句,请点击以下链接:Java MySQL INSERT 示例(使用 Statement(
如果您使用的是 PreparedStatement,您可以点击以下链接:Java MySQL INSERT 示例(使用 PreparedStatement(
在这里你必须使用它 查询后
然后你需要在(?(中给出一些值。
你也可以这样做
try{
con=(Connection)DriverManager.getConnection(url,username,password);
String query="INSERT INTO members VALUES(?,?,?)";
PreparedStatement pst = con.prepareStatement(query)
pst.setInt(1,anyInt);
pst.setString(2,anyString);
pst.setString(3,anyString);
int rowcount = pst.executeUpdate();
if(rowcount>0){
System.out.println("Done");
}
else{
System.out.println("Faild");
}
}catch(Exception e){
e.printStackTrace()
}