Java 将执行插入数据库
我想把我的编码结果插入数据库,我该怎么做? 我有一个使用java mail获取电子邮件的代码,代码运行成功,但是我想将它(电子邮件)存储到我的数据库中 这是我的代码:Java 将执行插入数据库,java,mysql,Java,Mysql,我想把我的编码结果插入数据库,我该怎么做? 我有一个使用java mail获取电子邮件的代码,代码运行成功,但是我想将它(电子邮件)存储到我的数据库中 这是我的代码: package ta_aing; import com.mysql.jdbc.PreparedStatement; import java.util.*; import javax.mail.*; import java.sql.Connection; import java.sql.Statement; import ta_a
package ta_aing;
import com.mysql.jdbc.PreparedStatement;
import java.util.*;
import javax.mail.*;
import java.sql.Connection;
import java.sql.Statement;
import ta_aing.connection;
public class baca_email {
public static void main(String[] args) {
Properties props = new Properties();
connection datMan = new connection();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("imap.gmail.com", "email", "password");
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message msg = inbox.getMessage(inbox.getMessageCount());
Address[] in = msg.getFrom();
for (Address address : in) {
System.out.println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg.getContent();
BodyPart bp = mp.getBodyPart(0);
System.out.println("SENT DATE:" + msg.getSentDate());
System.out.println("SUBJECT:" + msg.getSubject());
System.out.println("CONTENT:" + bp.getContent());
String sql = "insert into email (sender, sent_date, subject, content) values (address.toString, msg.getSentDate,msg.getSubject,bp.getContent)";
Connection conn;
conn = datMan.logOn();
PreparedStatement statement;
} catch (Exception mex) {
mex.printStackTrace();
}
}
}
不设置查询字符串中的属性,是否使用?对于prepared语句,JDBC将准备好的语句汇集在一起,并更改?在飞行中节省空间。把它放在查询中是不符合目的的
String sql = "insert into email (sender, sent_date, subject, content) values (" +
"?, ?,?,?)";
PreparedStatement statement = con.prepareStatement(updateString);
statement.setString(1,address.toString());
statement.setString(2,msg.toString());
statement.setString(3,msg.getSubject());
statement.setString(4,bp.getContent());
statement.executeQuery();
只用
Statement s = conn.createStatement();
s.executeUpdate(sql);
conn是与数据库连接的对象我就是这样处理它的。。谢谢所有想帮忙的人
package ta_aing;
import com.mysql.jdbc.PreparedStatement;
import java.util.*;
import javax.mail.*;
import java.sql.Connection;
import java.sql.Statement;
import ta_aing.connection;
/**
*
* @author Yoas
*/
public class cobaaaaa {
public static void main(String[] args) {
Properties props = new Properties();
connection datMan = new connection();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("imap.gmail.com", "email", "password");
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
System.out.println(inbox.getMessageCount());
Message [] msg = inbox.getMessages();
Connection conn;
conn = datMan.logOn();
for (int c=0;c<msg.length;c++){
Address[] in = msg[c].getFrom();
for (Address address : in) {
System.out.println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg[c].getContent();
BodyPart bp = mp.getBodyPart(0);
System.out.println("SENT DATE:" + msg[c].getSentDate());
System.out.println("SUBJECT:" + msg[c].getSubject());
System.out.println("CONTENT:" + bp.getContent());
Statement st;
st = (Statement) conn.createStatement();
for(int i = 0;i<in.length;i++){
st.executeUpdate("insert into email values(null,'"+in[i].toString()+"','"+msg[c].toString()+"','"+msg[c].getSubject()+"','"+bp.getContent()+"')");
}
}
conn.close();
} catch (Exception mex) {
mex.printStackTrace();
}
}
}
package ta_aing;
导入com.mysql.jdbc.PreparedStatement;
导入java.util.*;
导入javax.mail.*;
导入java.sql.Connection;
导入java.sql.Statement;
导入tau_aing.connection;
/**
*
*@作者尤斯
*/
公共级cobaaaaa{
公共静态void main(字符串[]args){
Properties props=新属性();
connection datMan=新连接();
props.setProperty(“mail.store.protocol”、“imaps”);
试一试{
Session Session=Session.getInstance(props,null);
Store Store=session.getStore();
store.connect(“imap.gmail.com”、“电子邮件”、“密码”);
文件夹收件箱=store.getFolder(“收件箱”);
收件箱。打开(文件夹。只读);
System.out.println(inbox.getMessageCount());
Message[]msg=inbox.getMessages();
连接接头;
conn=datMan.logOn();
对于(int c=0;c这跟php
有什么关系?这行store.connect(“imap.gmail.com”,“email”,“password”)有问题;
是打字错误吗?是的,对不起,只是一个打字错误,因为我想删除我的电子邮件和密码,上面写着“找不到符号”“在此之前,我需要在代码中键入什么?我已经尝试将address.toString更改为in.toString..,但出现了一个新错误。它表示java.sql.SQLException:无法使用executeQuery()发出数据操作语句。”。上面写着:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知列“字段列表”中的“address.toString”…我是把它放错了还是需要在它之前键入其他内容?这是因为sql语法不正确,请正确检查sql查询