空指针了
没连接上数据库
应该是这个样子,试一下吧
是7个?并排的,你少了一个
参数加载是看?互相的位置的,如果中间有别的不是?,就不算参数了吧,所以写的时候还是连起来的一串数字。
想问下这是什么问题
是 current_date() 函数,获得并添加当前时间。
答案:www.baidu.com在这里
"use_name"少了个“r”
醉了,能不能把报错信息贴出来
又是一个坑 我定义成String类型了
你的 sql 语句中 ? 是中文字符的,换成英文
哈哈哈,字符串连接啊。引号不是括在+号上的,应该是"XXX" + "XXXX",可能是分开了,所以容易看错
你的DAO文件里,String sql语句的中,有11个占位符:“?”。但是后续的ptmt只赋予了9个值。
解决方法:将第8、10个“?” 替换为:
current_date()
using (SqlConnection con =new SqlConnection())
{
con.ConnectionString ="************************";
con.Open();
SqlCommand cmd =new SqlCommand();
cmd.Connection = con;
string classId ="S201";
int age = 15;
cmd.CommandText ="SELECT * FROM Student WHERE ClassId = '" + classId + "' AND Age >" + age;
//省略
}
以上就是.net的,和JDBC是差不多的,都是连接数据库,写SQL,将值附给字段,然后进行数据库操作等
你在连接数据库的时候后面加?useUnicode=true&characterEncoding=utf8
然后记得数据库里也要设置编码哦~
JDBC连接数据库避免中文乱码:在数据库URL后添加字符限制
private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf8";
注意噢,是直接在URL后面添加,不是分两行写
使用 where 作條件:
select user_name, age from imooc_goddess where user_name='小美'
你可以检查一下异常信息最后两行那说的旁边的代码(点击蓝字就能跳转过去),检查一下SQL语句,好像列数不匹配
哎呀!好粗心..首先 SQL中缺了一个"," (下面看我的截图);其次,十分不建议这么拼SQL语句,非常容易出错,建议使用StringBuffer拼SQL,一目了然,还有就是程序上也是推荐使用StringBuffer。PS:我还原了你这种格式的SQL测试后还是有问题!所以很不推荐!
你可能是没有在预编译过程后面写execute()
这个应该是习惯性的,你可以试一下不加“”,其实对功能实现没有影响的
java.util.Date cannot be cast to java.sql.Date
看这里!
是不是current_date啊?
数据表user(除了id其它字段可为null):
-- 正确语句(运行成功,表有数据) insert into user(id,name,age) value(1,'jack',18); -- 错误语句(运行成功,表数据为 null) insert into user value(id=1,name='jack',age=18); insert into user(id,name,age) value(id=1,name='jack',age=18);
看看你是不是用了这样的语句
我也是这个问题,最后解决了,的确是dao层里面的那个”birthday“写错了,与表中的字段birthday并不匹配,仔细查看一下
可以直接在构造里面初始化啊;你把你写的代码发出来看看报的什么错