削除
する必要があります ;コード> SQLクエリで:
間違ったクエリ:
prepareStatement("create table staff (staffname varchar(30) primary key);");
preparedStatement = connect.prepareStatement("insert into staff values(?);");
正しいクエリは次のとおりです:
prepareStatement("create table staff (staffname varchar(30) primary key)");
preparedStatement = connect.prepareStatement("insert into staff values(?)");
挿入クエリを確認してください
そして、あなたの挿入 そのクエリが間違っているデータベースの値は、テーブル名に言及していました ただ、列名については言及しないでください 。したがって、クエリにテーブル名を追加する必要があります。
間違ったクエリ:
insert into staff values(?)
正しいクエリ:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
このリンクを参照してください:
http://www.w3schools.com/sql/sql_insert.asp >
更新:1
間違ったコード:
statement = connect.createStatement();
preparedStatement = connect
.prepareStatement("SELECT count(*)FROM information_schema.tables\n"
+ "WHERE table_schema = 'project' AND table_name = 'staff'");
rs = preparedStatement.executeQuery();
rs.next();
次のように変更する必要があります:sample
Class.forName(driverName).newInstance();
con=DriverManager.getConnection(connectionUrl+dbName,user,password);
st = con.createStatement();
String sql="SELECT * FROM employees";
rs=st.executeQuery(sql);
注:
- SQLクエリを呼び出さないでください。
- そして、
preparedStatement
を使用しています 電話をかけるには、ステートメント
に変更する必要があります -
preparedStatement
解決できません。
のように
string sql=....sql query...;
statement.executeQuery(sql)
update:2:-> sample
public class User
{
private String empname;
public String getEmpName()
{
return empname;
}
public void setEmpName(String empname)
{
this.empname=empname;
}
public void addUser(User user)
{
try
{
PreparedStatement ps;
ps=connection.prepareStatement("INSERT INTO employee (empname,empaddress,depname) VALUES (?,?,?)");
ps.setString(1, user.getEmpName());
ps.setString(2, user.getEmpAddress());
ps.setString(3, user.getDepName());
ps.executeUpdate();
}
catch(Exception e)
{
System.out.println(e);
}
}