我创建了一个java jframe程序,它允许您输入一个csv文件,然后将其上传到本地数据库,但是我无法将所有数据插入数据库。关于我可能出错的任何想法?
try{
BufferedReader br=new BufferedReader(new FileReader(filename1));
String line;
while((line=br.readLine())!=null){
String[]value=line.split(",");//Seperator
filename1是jFilechooser中选定的csv文件。
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values (?,?,?)";
pst=conn.prepareStatement(sql);
pst.setString(1, value[0]);
pst.setString(2, value[1]);
pst.setString(3, value[2]);
这是将分离的值插入数据库的mysql查询
这是我的表结构:
Date Varchar(244)
URL VarChar(244)
VisitCount VarChar(244)
我要插入的数据类型是:
31/01/2014 15:26:00, https://www.youtube.com/, 13
31/01/2014 15:25:00, https://www.youtube.com/, 17
非常感谢任何帮助
答案 0 :(得分:3)
尝试使用此查询
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values (?, ?, ?)";
答案 1 :(得分:1)
您应该让占位符与预备声明一起使用,但不能直接转储。
这是错误的:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"')";
将其更改为:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ( ?, ?, ? )";