Sql server 2005 在sql server中更新表

Sql server 2005 在sql server中更新表,sql-server-2005,jsp,Sql Server 2005,Jsp,我正在尝试以下代码 String sym=request.getParameter("symbol"); Statement st1=con.createStatement(); String symIns="UPDATE "+tblname+" SET Symbol='+sym+'"; int m=st1.executeUpdate(symIns); if(m==0) out.println("m is zero"); else if(m!=0) out.println("I

我正在尝试以下代码

String sym=request.getParameter("symbol");
Statement st1=con.createStatement();
String symIns="UPDATE "+tblname+" SET Symbol='+sym+'";
int m=st1.executeUpdate(symIns);
if(m==0)
    out.println("m is zero");
else 
if(m!=0)
    out.println("Inserted");
我从上一页收到sym和tblname的值,但在执行此代码后,它将m打印为零,因此不更新表。此代码不适用于没有任何记录且仅包含空值的表。但是为有一些记录的表工作。我还尝试直接在数据库中执行它。它显示已成功执行的查询,但给出的消息为受影响的0行。这是在数据库中成功运行的查询`

更新六组SYMBOL='eq',其中SYMBOL='be'


正如我所说,它正在为这个表工作,并且这个表的符号列的值为'be'。

查询运行正常。如果您有匹配的记录,它将更新行

因此,在您的查询中,更新六集SYMBOL='eq'WHERE SYMBOL='be';,它将更新包含字段值为“be”的行的六个表。但它不会在有NULL的地方更新

查询将执行,但不更新任何记录,因此返回零个受影响的行

所以,如果您想更新包含NULL作为字段值的行

Add为空


更新符号为空的六集SYMBOL='eq'

很多问题:您有任何错误/警告吗?其他查询是否有效?数据库中是否存在tblname?tblname表中有记录吗?您的数据库连接不需要显式提交?这对于sql注入是完全开放的。您可能不得不考虑在控制台中打印字符串Symin,而不是直接在数据表中执行。@ GrZeGrz Gielik:没有错误/警告,是的,其他查询正在工作。我尝试选择查询,它正在工作。数据库中也有tblname。是的,tblname中有记录。@NoRules:在数据库中执行查询后,它显示已成功执行的查询,但也给出了0行受影响的消息。同样,它仍然显示相同的消息:0行受影响且查询已成功执行。这意味着表的符号字段中不包含空值。我没有得到你想要做的事情?实际上我正在创建一个新表。它现在显示所有字段的空值。我想更新表格并设置代码中显示的值。@Hardik:非常感谢。同一行代码现在正在工作。