java and access
第一次使用access,完全不懂,高分求教简单的问题!
本人完全菜鸟,代码如下:
String name=m_name.getText();
String password=m_passWord.getText();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException ce)
{
System.out.println("SQLException:"+ce.getMessage());
}
try
{
Properties prop=new Properties();
prop.put("charSet","gb2312");
String accessFilePath="C:/Users/sky/Desktop/Database6.mdb";
Connection con=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="
+accessFilePath,prop);
Statement st=con.createStatement();
String sqlstr="create table message12(peopleName String,"+"peoplePassWord String)";
st.executeUpdate(sqlstr);
sqlstr="INSERT INTO message12(peopleName,peoplePassword)"+"VALUES(name,password)";
st.executeUpdate(sqlstr);
st.close();
con.close();
}catch(Exception e)
{
System.out.println("SQLException:"+e.getMessage());
}
}
为的是把俩个编辑框的输入内容写到数据库中,运行老是提示 参数不足,期待是 2。
sqlstr="INSERT INTO message12(peopleName,peoplePassword)"+"VALUES(name,password)";
这句好像有问题,怎么把String类型的变量写进数据库呢?
如果我把name,password改成‘123’这样的就可以了!
怎么解决。。。
[解决办法]
要写入的string类型加单引号引起就可以了
sqlstr="INSERT INTO message12(peopleName,peoplePassword)"+"VALUES('name','password')";
[解决办法]
因为你根本没有获取到name,password
="INSERT INTO message12(peopleName,peoplePassword)"+"VALUES('"+name+"','"+password+"')";
这样就可以了