int iRet = myCommand.ExecuteNonQuery();//iRet是受影响的行数
if(iRet == 0)
{
//没有要删除的记录
}
else
{
//删除成功
}
if(iRet == 0)
{
//没有要删除的记录
}
else
{
//删除成功
}
解决方案 »
- 如何采用客户端脚本在离开两个textbox事件中自动合计他们的值,并显示到另外一个textbox中去
- 大家好,请问我做的这个网站为什么不定时的出现乱码呀
- 难题!!分不多,请高手指教下!
- 文本 怎么做到以下的显示效果?????
- SOS,请问哪儿有MeChatX网络视频会议软件原代码可以下载,急需参考开发!高分送
- 求助!!!
- asp中无法写sql server 数据库,请问是怎么回事?
- 关于用Response.Redirect动态传移地址的问题。
- 如果COOKIE不存在,UserName.Text = Request.Cookies["NewMycity"]["UserName"].ToString();这个语句是不是就会出现错误啊?应该怎么解决?
- 下载了一个管理系统的源代码,怎么用VS2012对源代码进行编译呀
- 菜鸟之提
- 请问Web.config是干什么的??? 没分了,就祝大家中秋节快乐吧。。。行行好。
if (!Rad.Read())
{
//没有记录
}
改成SqlDataReader Rad = Cmd.ExecuteReader();ExecuteReader();这个方法是什么意思~
ExecuteNonQuery();这个方法又是什么意思?
ExecuteReader()一般用与查询等操作
ExecuteNonQuery()一般用与更新和删除的操作,返回受影响的行数
<%@ Import Namespace="System.Data" %>
<head>
<title>删除的例子</title>
<Script Language="C#" Runat="Server">
void delete_Click(Object src,EventArgs e)
{
SqlCommand myCommand;
string myDeleteQuery;
string mySelectQuery;
string myConnString=@"server=localhost;uid=sa;pwd= ;database=test ";
SqlConnection myConnection = new SqlConnection(myConnString);
myConnection.Open();
mySelectQuery = "SELECT * from test";
myCommand=new SqlCommand(mySelectQuery,myConnection);
SqlDataReader reader=myCommand.ExecuteReader();
if(Tel1.Text==""){
Label1.Text="编号不能为空";
}
else if (!reader.Read())
{
Label1.Text="数据库没有信息!";
reader.Close();
}
else
{myDeleteQuery="delete from test where id = "+ Tel1.Text.Trim() +" " ;
myCommand=new SqlCommand(myDeleteQuery,myConnection);
myCommand.ExecuteNonQuery();
Label1.Text="删除成功!";
Tel1.Text="";
reader.Close();
}
myConnection.Close();
}
</Script>
</head>
<body>
<p>请输入要删除的学号:</p>
<form runat="server">
<asp:TextBox id="Tel1" size="20" runat="server"/>
<br>
<asp:Button id="delete" onClick=delete_Click runat="server" Text="删除"></asp:Button>
<br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
当我输入一个不存在的信息点“确定”错误提示:
有打开的与此连接相关联的 DataReader,必须首先将它关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 已有打开的与此连接相关联的 DataReader,必须首先将它关闭。源错误: 生成此未处理异常的源代码只能在调试模式中进行编译时显示。若要启用该功能,请执行以下步骤之一,然后请求 URL:1. 在生成错误的文件的顶部添加一个“Debug=true”指令。示例: <%@ Page Language="C#" Debug="true" %>或者:2. 将以下节添加到应用程序的配置文件中:<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
<%@ Import Namespace="System.Data" %>
<head>
<title>删除的例子</title>
<Script Language="C#" Runat="Server">
void delete_Click(Object src,EventArgs e)
{
SqlCommand myCommand;
string myDeleteQuery;
string mySelectQuery;
string myConnString=@"server=localhost;uid=sa;pwd= ;database=test ";
SqlConnection myConnection = new SqlConnection(myConnString);
myConnection.Open();
mySelectQuery = "SELECT * from test";
myCommand=new SqlCommand(mySelectQuery,myConnection);
SqlDataReader reader=myCommand.ExecuteReader();
if(Tel1.Text==""){
Label1.Text="编号不能为空";
}
else if (!reader.Read())
{
Label1.Text="数据库没有信息!";
reader.Close();
}
else
{
reader.Close();
myDeleteQuery="delete from test where id = "+ Tel1.Text.Trim() +" " ;
myCommand=new SqlCommand(myDeleteQuery,myConnection);
myCommand.ExecuteNonQuery();
Label1.Text="删除成功!";
Tel1.Text="";
}
myConnection.Close();
}
</Script>
</head>
<body>
<p>请输入要删除的学号:</p>
<form runat="server">
<asp:TextBox id="Tel1" size="20" runat="server"/>
<br>
<asp:Button id="delete" onClick=delete_Click runat="server" Text="删除"></asp:Button>
<br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
当输入数据库中不存在的学号时不显示:数据库没有信息
Label1.Text="数据库没有信息!";没有起做用
当我输入数据库中存在的信息时显示数据删除成功!
不知道是哪的原因~
string myDeleteQuery;
string myConnString=@"server=localhost;uid=sa;pwd= ;database=test ";
SqlConnection myConnection = new SqlConnection(myConnString);
myConnection.Open();
if(Tel1.Text==""){
Label1.Text="编号不能为空";
}
else
{
myDeleteQuery="delete from test where id = '"+ Tel1.Text.Trim() +"'" ;
myCommand=new SqlCommand(myDeleteQuery,myConnection);int i=0;
i=myCommand.ExecuteNonQuery();if (i!=0)
{
Label1.Text="删除成功!";
Tel1.Text="";
}
else
{
Tel1.Text="数据库没有信息";
}
}
myCommand=new SqlCommand(mySelectQuery,myConnection);
SqlDataReader reader=myCommand.ExecuteReader();你的SqlDataReader 永远有数据的,除非test是空表,当然不行了,应该加同样的限制条件
你用 mySelectQuery = "SELECT * from test";
是指数据库没有信息,而你输入不存在的学号应该是不存在该记录而已。当学号不存在还是执行else内的删除部分,也能删除成功,只是影响行数为0行
你将mySelectQuery = "SELECT * from test";
改为:
mySelectQuery = "SELECT * from test where id = "+ Tel1.Text.Trim() +" " ;
就会执行Label1.Text="数据库没有信息!";