怪问题~~我的jsp程序不能删除数据库的纪录,可得到的sql语句直接在sqlserver上执行就可以~~

zhangzgsky 2002-09-11 10:54:35
这是怎么回事??
...全文
104 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
learnner 2002-09-16
  • 打赏
  • 举报
回复
1、是不是用的第三个构造函数,不是用sa连接?如果是这样,检查你用的用户是不是只有update、insert,没有delete的权限。
2、把delete语句拷到sql查询工具里执行,看能不能执行。
vison_1 2002-09-16
  • 打赏
  • 举报
回复
事务本来不就是自动提交的吗?好想不是这个问题吧?
我是椰子,不会说谎的椰子。jsp不精,java不精,就是有点神经。:)
zhangzgsky 2002-09-16
  • 打赏
  • 举报
回复
考到查询工具里可以执行
我怀疑是权限问题,
yeslebk 2002-09-16
  • 打赏
  • 举报
回复
是不是你没有delete权限!


http://bbs.jspserver.com
利而不害 2002-09-16
  • 打赏
  • 举报
回复
slt=dc.deleteDatabase("conic_news_child",id);
没看到你的deleteDatabase(String,String)函数,贴出来看看
TIYILON 2002-09-15
  • 打赏
  • 举报
回复
事务有没有提交?
zhangzgsky 2002-09-13
  • 打赏
  • 举报
回复
整形
sandsworlf 2002-09-12
  • 打赏
  • 举报
回复
你取到的数据库中记录的第一个字段是字符串类型的还是整形的呢?
就是你的id 号
topmint 2002-09-12
  • 打赏
  • 举报
回复
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433","sa","");
DatabaseMetaData conMD = con.getMetaData();
con.setCatalog("module55");
Statement stmt = con.createStatement();
stmt.executeUpdate("delete conic_news where id='"+id+"'");
}
catch(Exception e){
out.println(e);
}
zhangzgsky 2002-09-12
  • 打赏
  • 举报
回复
不太懂,我试试吧~~~5555
zhu_liping 2002-09-11
  • 打赏
  • 举报
回复
public int executeUpdate(String sql){
int rc=0;
try{
ConDB=DriverManager.getConnection(sConnStr,sUser,sPassword);
Stmt=ConDB.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rc=Stmt.executeUpdate(sql);
}
catch(Exception ex){
System.err.println("sq.executeUpdate:"+ex.getMessage());
return -2;
}
return rc;
}
zhangzgsky 2002-09-11
  • 打赏
  • 举报
回复
package java_module.database;
import java.io.*;
import java.util.*;
import java.sql.*;
import java.lang.*;

/**
*<DL><DT><b>功能:</b><DD>JDBC实现与服务器端数据库的交互</DD></DL>
*@author Zhang
*@version V1.0 2002/8
*/

public class DatabaseConnect {

protected Connection con = null;
private Statement stmt = null;
private ResultSet rs=null;

//---------------------建立连接-----------------------
/**You use the constructor to connects the database
*@param String server
*@param String database
*@param String username
*@param String password
*@return (None)-constructor
*/
public DatabaseConnect()
{
try
{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://server1:1433;DatabaseName=module55", "sa", "");
stmt=con.createStatement();
// return true;
}
catch (Exception e)
{
System.out.println(e.toString());
// return false;
}
}

//---------------------建立连接-----------------------
/**You use the constructor to connects the database
*@param String server
*@param String database
*@param String username
*@param String password
*@return (None)-constructor
*/
public boolean DatabaseConnect(String database)
{
try
{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://server1:1433;DatabaseName=" + database, "sa", "bjsjzy");
stmt=con.createStatement();
return true;
}
catch (Exception e)
{
System.out.println(e.toString());
return false;
}
}

//---------------------建立连接-----------------------
/**You use the constructor to connects the database
*@param String server
*@param String database
*@param String username
*@param String password
*@return (None)-constructor
*/
public boolean DatabaseConnect(String server, String database, String username, String password)
{
try
{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://"+server+":1433;DatabaseName="+database, username, password);
stmt=con.createStatement();
return true;
}
catch (Exception e)
{
System.out.println(e.toString());
return false;
}
}
//----------------------根据SQL语句返回一个数据集---------------------------
/**根据SQL语句返回一个数据集
*@param String queryStr
*@return ResultSet
*/
public ResultSet getQuery(String queryStr)
{
ResultSet result=null;
try{
result = stmt.executeQuery(queryStr);
}catch(Exception ex){
System.out.println(ex.toString());
}
return result;
}

//----------------------根据SQL语句返回一个数据总条数---------------------------
/**根据SQL语句返回一个数据总条数
*@param String queryStr
*@return int
*/
public int getCountQuery(String queryStr)
{
int maxRecordCount=-1;
try{
rs = getQuery(queryStr);
if (rs.next())
maxRecordCount = rs.getInt(1);
}catch(Exception ex){
System.out.println(ex.toString());
}
return maxRecordCount;
}

//----------------------根据SQL语句返回一个数据总条数---------------------------
/**根据SQL语句返回一个数据总条数
*@param String queryStr
*@return int
*/
public String getMaxQuery(String queryStr)
{
String maxRecordCount="0";
try{
rs = getQuery(queryStr);
if (rs.next())
maxRecordCount = rs.getString(1);
}catch(Exception ex){
System.out.println(ex.toString());
}
return maxRecordCount;
}

//----------------------根据传入语句执行一个库操作---------------------------
/**根据传入语句执行一个库操作
*@param String queryStr
*@return int
*/
public int executeUpdate(String updateStr)
{
int over=0;
try{
over=stmt.executeUpdate(updateStr);
}catch(Exception ex){
System.out.println(ex.toString());
}
return over;
}

//---------------------断开连接-----------------------
/**You use the method to closes the connection
*@param None
*@return Void
*/
public void disconnect()
{
try{
rs.close();
stmt.close();
con.close();
}catch(Exception ex){
System.out.println(ex.toString());
}
}
}
以上是我的beans类
以下是jsp代码:
<%
String id=request.getParameter("id");
int slt=0;
boolean conn=dc.DatabaseConnect("server1","module55","sa","");
String sql="delete conic_news where id='"+id+"'";
out.println(id+sql);
// slt=dc.deleteDatabase("conic_news_child",id);
slt=dc.executeUpdate(sql);

%>
<% if(slt==1){%>
<p aling=center><font color=red>删除成功</font></p>
<%}
else{%>
<p aling=center><font color=red>删除不成功</font></p>
<%}
dc.disconnect();%>

打印出来的sql语句在数据库里是可以用的
xycleo 2002-09-11
  • 打赏
  • 举报
回复
很可能是因为你的程序没有执行到 删除的语句

你好好看看!!要不把代码贴出来
zhangzgsky 2002-09-11
  • 打赏
  • 举报
回复
连接数据库应该没问题吧`````
我用的是同一个beans。。能更新,插入。。
就是不能删除
misslyy 2002-09-11
  • 打赏
  • 举报
回复
jsp连接数据库有问题吧,代码贴出来看看
xcopy 2002-09-11
  • 打赏
  • 举报
回复
con.setAutoCommit(true)
试试

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧