2013-11-25 42 views
0

有人可以帮我解决我现在遇到的问题吗?无法通过NetBeans插入MySQL

我有一组问题(调查)。当用户完成调查时,它会插入到我的数据库中。

但是,现在,当我提交调查时,它不会将结果插入到我的数据库中。

这里是我的代码:

try { 



     //Process - Query from SQL  
    String strSqlnsert = "INSERT INTO Customers (MembershipID, Contact, Email, Address, SurveyStatus, Subscription) VALUES" 
      + " ('"+ member_ID + "', " + contact_num + ", '" + email_add + "', '" + mail_add + "' , " + radio_group + "," + receive_info + ")";    



      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/customers", "root", "password"); 
      Statement stmt = conn.createStatement(); 

      ResultSet rs = stmt.executeQuery(strSqlnsert); 

我还加库的JDBC库中的文件夹中。

+0

看来非数字值没有引用。 – marekful

+0

你得到的错误是什么? –

+0

@a_horse_with_no_name没有错误,只是我不能插入结果 – userNoIdea

回答

0

看来非数值中没有报价

而不是

" + email_add + ", 

尝试

'" + email_add + "', 

在下面的INSERT语句

INSERT INTO table (field1, field2) VALUES (5, 'this is a string'); 

的“这是一个字符串'是包装d在引号中,因为field2的类型为VARCHAR。 field1是INT,所以分配给它的值(5)不需要引用。


VALUES名单必须在大括号过于又一次,非数值必须加引号:

String strSqlnsert = "INSERT INTO Customers (MembershipID, Contact, Email, Address, SurveyStatus, Subscription) VALUES (" + member_ID + ", " + contact_num + ", '" + email_add + "', '" + mail_add + "', '" + radio_group + "', '" + receive_info + "')"; 
+0

整行有错误,如果我添加 – userNoIdea

+0

问题仍然是......您需要清理引用问题。 – marekful

+0

我的radiogroup && receiveInfo是int,而memberid是varchar .. 是这样吗? String strSqlnsert =“插入到Customers(MembershipID,Contact,Email,Address,SurveyStatus,Subscription)VALUE” +“('”+ member_ID +“',”+ contact_num +“,'”+ email_add +“' '“+ mail_add +”',“+ radio_group +”,“+ receive_info +”)“; – userNoIdea

0

尽量让一份声明中,你可以打电话SETINT或PreparedStatement类的了setString方法。所以它会自动删除字符串或数字混淆。

BTW preparedStatement是在sql查询中传递参数的最佳方法,不要使用Statement类作为参数sql查询。