ASP.NET项目编译没出错,但添加功能无法实现。

清朝的恒星 2019-04-11 07:54:26
做的项目里,需要添加管理员,在进行添加操作时,会出现“对不起,操作失败!”(自己设置的),感觉像是没有执行sql语句,具体原因不太清楚,但是整个项目并没有报错,有没有人遇到过类似的情况。登陆,删除功能可以实现,就添加、注册无法实现。

后端代码如下
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Admin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//判断是否回发
{
if (Request["ID"] != null)//判断是否有参数传入
{
InitData();//执行初始化函数
}
}
}
protected void InitData()
{
string id = Request["ID"].ToString();
try
{
string SQL = "select * from Admin where ID='" + id + "'";
DataTable dt = DBHelper.GetDataSet(SQL).Tables[0];//获取对应的参数并且对页面进行绑定
if (dt.Rows.Count > 0)
{
this.txtUserName.Text = dt.Rows[0]["UserName"].ToString();
this.txtPassWord.Text = dt.Rows[0]["PassWord"].ToString();
}
}
catch
{
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string SQL = "";
bool iRet = false;
if (Request["ID"] != null)
{
string id = Request["ID"].ToString();
SQL = "update Admin set UserName='" + txtUserName.Text + "',PassWord='" + txtPassWord.Text + "' where ID='" + id + "'";
iRet = DBHelper.ExecSql(SQL);
}
else
{
SQL = "insert into Admin(UserName,PassWord)values('" + txtUserName.Text + "','" + txtPassWord.Text + "')"; ;//执行添加操作
iRet = DBHelper.ExecSql(SQL);
}
if (iRet)
{
DBHelper.ShowMessage(Page, "恭喜您,操作成功!", "");
}
else
{
DBHelper.ShowMessage(Page, "对不起,操作失败!", "");
}
}
protected void Button2_Click(object sender, EventArgs e)
{
txtUserName.Text = "";
txtPassWord.Text = "";
}
}

下面这个是DBhelp类,进行数据库操作的。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text.RegularExpressions;

/// <summary>
/// DBHelper 的摘要说明
/// </summary>
public class DBHelper
{

public DBHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}


/// <summary>
/// 获得数据库连接字符串
/// </summary>
/// <returns></returns>
public static string GetConnStr()
{
return ConfigurationManager.ConnectionStrings["DB"].ConnectionString;
}



/// <summary>
/// 由sql变量(select语句)得到DataSet类型查询记录集合
/// </summary>
/// <param name="sql">select语句,字符串类型</param>
/// <returns></returns>
public static DataSet GetDataSet(string sql)
{
SqlConnection conn = new SqlConnection(GetConnStr());
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
conn.Close();
return ds;
}




/// <summary>
/// 执行sql语句,主要是insert、update、delete语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static Boolean ExecSql(string sql)
{
SqlConnection conn = new SqlConnection(GetConnStr());
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
try
{
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
conn.Close();
return false;
}
return true;
}
#region 弹出信息提示
public static void ShowMessage(Page page, string msg, string key)
{
string strScript = "<script language=javascript>alert('" + msg + "');</script>";
ClientScriptManager cs = page.ClientScript;
Type type = page.GetType();
if (!cs.IsStartupScriptRegistered(key))
{
cs.RegisterStartupScript(type, key, strScript);
}

}
public static void ShowMessage(Page page, string msg, string key, string Redirect)
{
string strScript = "<script language=javascript>alert('" + msg + "');window.location.href='" + Redirect + "';</script>";
ClientScriptManager cs = page.ClientScript;
Type type = page.GetType();
if (!cs.IsStartupScriptRegistered(key))
{
cs.RegisterStartupScript(type, key, strScript);
}

}
#endregion

#region 判断信息是否重复

public static bool CheckRepeat(string TableName, string ComName, string Name)
{
SqlConnection conn = new SqlConnection(GetConnStr());
conn.Open();
string SQL = "select * from " + TableName + " where ComName='" + Name + "'";
SqlDataAdapter sda = new SqlDataAdapter(SQL, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
conn.Close();
bool B = false;
if (ds.Tables[0].Rows.Count > 0)
B = true;
return B;
//返回true的说明对应的信息已经存在
}
#endregion
}




...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu5152 2019-04-12
  • 打赏
  • 举报
回复
打个断点 跑跑看就知道了 执行sql语句的时候看看报了什么错
无奈的奈 2019-04-12
  • 打赏
  • 举报
回复
打个断点看看,我觉得有可能跑更新的地方去了
baidu_27549073 2019-04-11
  • 打赏
  • 举报
回复
将ExecSql中的TryCatch去掉,你就能明白真正的问题
该源码是Discuz!NT官方版下载 v3.9 beta,源码系统Discuz!NT具有安全、高效、易用等特点,产品开放源代码下载三年的时间,受到了国内众多ASP.net项目用户的欢迎,成为国内ASP.net社区论坛产品的标杆。Discuz!NT全面支持Windows server 2008 R2系统,并且支持集成模式。免费为商业用户提供64位编译版本。Discuz!NT 为项目用户专门开发了负载均衡、数据库读写分离、分布式缓存和检测工具一系列套件,为超大型社区建设提供了完美的技术解决方案。 Discuz!NT v3.9 带来了多达百项的变动: 云平台基础和QQConnect 后台集成帖子调用生成器,提供js和模板标签2类方式 升级程序改进 主题鉴定后增加鉴定提示 快速编辑器中增加图片(附件?)上传功能 改进编辑器对Word的支持 强制新用户验证激活邮箱改进:先验证,后注册 积分相关的代码重构 管理组设置不允许编辑后,提示逻辑不友好 开启远程附件后程序获取地址有误 2000数据库下收藏翻页出错 高级编辑器中选择翻白眼表情,会自动转为别的表情 子目录安装后启用IIS的URL重写后报404 后台主题分类调整显示顺序用 当开启伪静态后showforum-2.aspx&cedit=yes参数带不过来 后台编辑版块里添加主题分类导致前台出现两个相同的主题分类 3.0版本升级上来的论坛缺少清理邀请链接的计划任务 IE7下后台编辑版块里新增主题分类的弹层错位 后台批量发送短消息前台用户短消息数有增加 引用只有图片的帖子,引用后并为有任何的引用内容

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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