<%! ResultSet rs=null;%>
<%
int type=-1;//定义一个标志变量
try{
type=Integer.parseInt(request.getParameter("do"));//取得参数do的值,这个值决定了用户对数据库的操作类型
}catch(Exception eee){
type=0;//如果没有这个参数或者其他原因发生异常,则默认为0
}
try{
Statement st=getStatement();//取得Statement对象,getStatement()函数将在步骤8中定义
String name=request.getParameter("name");//取得参数name的值
switch(type){
//如果为0,表示用户没有操作,则把所有数据库中的所有记录提取出来
case 0:
rs=st.executeQuery("select * from friends");//查询全部
break;
//如果为1,表示用户执行的是查询操作,则把符合要求的结果提取出来
case 1:
name=new String(name.getBytes("ISO-8859-1"));//改变字符编码,否则会出现中文乱码问题
rs=st.executeQuery("select * from friends where name like '%"+name+"%'");//特定查询
break;
//如果为2,表示用户执行的是删除操作,则执行删除后再把控制权转向本页面
case 2:
name=new String(name.getBytes("ISO-8859-1"));
st.executeUpdate("delete from friends where name ='"+name+"'");//删除
response.sendRedirect("db1.jsp");
break;
//如果为3,表示用户执行的是插入操作,则执行插入后再把控制权转向本页面
case 3:
name=new String(name.getBytes("ISO-8859-1"));
String tel=request.getParameter("tel");
st.executeUpdate("insert into friends values('0','"+name+"','"+tel+"’)");//添加
response.sendRedirect("db1.jsp");
break;
//如果为4,表示用户执行的是修改操作,则执行插入后再把控制权转向本页面
case 4:
name=new String(name.getBytes("ISO-8859-1"));
tel=request.getParameter("tel");
String sql="update friends set tel=’"+tel+"’ where name=’"+name+"'";
st.executeUpdate(sql);//修改
response.sendRedirect("db1.jsp");
break;
}
%>
sql语句哪错了啊,大神求指教啊
------解决思路----------------------
case3 有错。
18722331939这串应该是你的tel数据
你Insert into的要加上你要插入friends 这个表对应的字段名
比如
"INSERT INTO `user`(username,passwd,emai,grade) VALUES('"+name+"','"+passwd+"','"+emai+"','"+grade+"')");