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
}




...全文
108 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu5152 2019-04-12
  • 打赏
  • 举报
回复
打个断点 跑跑看就知道了 执行sql语句的时候看看报了什么错
无奈的奈 2019-04-12
  • 打赏
  • 举报
回复
打个断点看看,我觉得有可能跑更新的地方去了
baidu_27549073 2019-04-11
  • 打赏
  • 举报
回复
将ExecSql中的TryCatch去掉,你就能明白真正的问题

62,047

社区成员

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

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

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

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