java.sql.SQLException:参数索引超出范围(1>;参数数,即0)
我已经编写了一个java jframe程序,允许您输入一个csv文件,然后将其上载到本地数据库,但是我无法将所有数据插入数据库。你知道我哪里会出错吗java.sql.SQLException:参数索引超出范围(1>;参数数,即0),java,mysql,csv,sql-insert,Java,Mysql,Csv,Sql Insert,我已经编写了一个java jframe程序,允许您输入一个csv文件,然后将其上载到本地数据库,但是我无法将所有数据插入数据库。你知道我哪里会出错吗 try{ BufferedReader br=new BufferedReader(new FileReader(filename1)); String line; while((line=br.readLine())!=null){ String[]value=line.split(",");//Seperator file
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
非常感谢您提供的任何帮助您应该在准备好的语句中使用占位符,而不是直接转储值 这是错误的:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"')";
将其更改为:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ( ?, ?, ? )";
您应该有占位符用于准备好的语句,但不能直接转储值 这是错误的:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"')";
将其更改为:
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values ( ?, ?, ? )";
尝试此查询
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values (?, ?, ?)";
尝试此查询
String sql="insert into websitehistory (Date, URL, VisitCount) "
+ "values (?, ?, ?)";
检查添加到准备好的语句中的参数。您可能希望在sql查询中使用
?
而不是每个“+value[i]+”
。这样,您以后可以使用setXXX(number,value)
将?
替换为正确的值。检查添加到准备好的语句中的参数。您可能希望在sql查询中使用?
而不是每个“+value[i]+”
。这样,您以后可以使用setXXX(number,value)
使用正确的值替换?
。将其更改为:String sql=“insert into websitehistory(Date,URL,VisitCount)”+“values(?,?)”;但是在第1行出现错误“检查正确的语法以便在“?,?,?)”附近使用。可能是插入的数据还是我的数据库的格式?提供表结构和试图插入的数据可能会有用。请编辑您的问题并添加这些信息。将其更改为:String sql=“insert into websitehistory(日期、URL、VisitCount)“+”值(?,?),但在第1行出现错误“请检查正确的语法以在“?,?,?)”附近使用”。可能是插入的数据还是数据库的格式?提供表结构和试图插入的数据可能会很有用。请编辑您的问题并添加这些信息。