java 中使用 PreparedStatement ,对 mysql 执行插入数据 ,出现问题,求高手指导
错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:YouhaveanerrorinyourSQLs...
错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near '祦鋖\"?S崜锕?s没rq沔?b?\"?聩蜲???1-鞿v ??4゛?<ㄈ蜴苃迍 憵[M' at line 1
部分源码:
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "insert into userblob(name,photo) values(?,?)";
try {
Class.forName(DRIVER);
System.out.println("驱动加载成功.....");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("数据库连接成功.....");
pstmt = conn.prepareStatement(sql);
File f = new File("E:\\workspaces\\eclipse_3.7.1\\mldn_demo\\mldn.jpg");
InputStream input = new FileInputStream(f);
pstmt.setString(1, "李华");
pstmt.setBinaryStream(2, input, (int)f.length());
pstmt.executeUpdate();
System.out.println("数据库更新成功....."
我知道是sql 脚步错了,但是哪错了呢?
mysql> show create table userblob;
| userblob | CREATE TABLE `userblob` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`photo` longblob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk | 展开
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near '祦鋖\"?S崜锕?s没rq沔?b?\"?聩蜲???1-鞿v ??4゛?<ㄈ蜴苃迍 憵[M' at line 1
部分源码:
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "insert into userblob(name,photo) values(?,?)";
try {
Class.forName(DRIVER);
System.out.println("驱动加载成功.....");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("数据库连接成功.....");
pstmt = conn.prepareStatement(sql);
File f = new File("E:\\workspaces\\eclipse_3.7.1\\mldn_demo\\mldn.jpg");
InputStream input = new FileInputStream(f);
pstmt.setString(1, "李华");
pstmt.setBinaryStream(2, input, (int)f.length());
pstmt.executeUpdate();
System.out.println("数据库更新成功....."
我知道是sql 脚步错了,但是哪错了呢?
mysql> show create table userblob;
| userblob | CREATE TABLE `userblob` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`photo` longblob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk | 展开
4个回答
展开全部
是语法格式的问题,表明和指定的列名(name,photo)之间加个空格,String sql = "insert into userblob (name,photo) values(?,?)";
追问
我试了,不是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的数据库脚本写错了
那你贴出来才知道啊
那你贴出来才知道啊
更多追问追答
追问
我想不是这个错吧,应该是数据转换方面的,但我具体不知道错在哪?
追答
int
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询