利用语句:String name=request.getParameter("item");
取得name=“C++”;
try
{
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123456";
String dbName="book";
String tableName="book";
String url2="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName(driverName).newInstance();
Connection conn2=DriverManager.getConnection(url2);
Statement stmt2=conn2.createStatement();
String sql2="update book set mount=1110 where bookname='name'";//此语句中的bookname='name'不能做bookname='C++'处理,有什么方法可以处理这个问题。
int row=stmt2.executeUpdate(sql2);
%>
<%
stmt2.close();
conn2.close();
}
问题://String sql2="update book set mount=1110 where bookname='name'";//此语句中的bookname='name'不能当做bookname='C++'处理,有什么方法可以处理这个问题。
取得name=“C++”;
try
{
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123456";
String dbName="book";
String tableName="book";
String url2="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName(driverName).newInstance();
Connection conn2=DriverManager.getConnection(url2);
Statement stmt2=conn2.createStatement();
String sql2="update book set mount=1110 where bookname='name'";//此语句中的bookname='name'不能做bookname='C++'处理,有什么方法可以处理这个问题。
int row=stmt2.executeUpdate(sql2);
%>
<%
stmt2.close();
conn2.close();
}
问题://String sql2="update book set mount=1110 where bookname='name'";//此语句中的bookname='name'不能当做bookname='C++'处理,有什么方法可以处理这个问题。
有一个数据库项目如下:库存列表如下:
书名bookname 简介content 作者author 价格price 库存mount
C++ C++ CCC 32 1111
Education Education Education 12 1000 我利用下面语句来修改书名为C++中的库存量mount,改为1110,但是没办法操作。
String sql2="update book set mount=1110 where bookname='name';
int row=stmt2.executeUpdate(sql2);如果用语句
String sql2="update book set mount=1110 where bookname='C++';
int row=stmt2.executeUpdate(sql2);
则可以把改书名为C++中的库存量mount,改为1110。
有什么办法可以把name的值传进去???????
拼接一个sql就行了撒....
正解
sql处理字符串需要 用'', 用sql拼接即可
估计楼主是做php过来的吧?
下面两个语句为什么结果不是一样的?
String sql2="update book set mount=10000 where bookname='"+name+"'";
String sql2="update book set mount=num where bookname='"+name+"'";num是int类型的数值,为什么传不进去。要怎么样处理?
String sql2="update book set mount=num where bookname='"+name+"'";这里的num不会作为一个变量处理的,只是一个普通的num字符串处理,这条SQL执行会有SqlException。
你可以这样写:String sql2="update book set mount=" + num + "where bookname='"+name+"'";
或者直接用占位符:String sql2="update book set mount = ? where bookname='"+name+"'";然后再用stmt2.setInt(1, num)