mySqlCommand.ExecuteNonQuery();得问题????

zsufrog 2004-07-11 12:26:16
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace WebApplication3.example
{
/// <summary>
/// ex05_19 的摘要说明。
/// </summary>
public class ex05_19 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
protected System.Web.UI.WebControls.TextBox TextBox4;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
protected System.Web.UI.WebControls.RangeValidator RangeValidator1;
protected System.Web.UI.WebControls.TextBox TextBox5;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.TextBox TextBox3;

private void Page_Load(object sender, System.EventArgs e)
{

}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
SqlConnection myConnection=new SqlConnection("server=localhost;uid=sa;pwd=tian0815;database=Aspnet");
string strSQL="INSERT INTO Ex0501 (用户名,密码,学号,电子邮件) VALUES ( '"+TextBox1.Text+"','"+TextBox2.Text+"', '"+TextBox3.Text+"', '"+TextBox4.Text+"', '"+TextBox5.Text+"')";

try
{
myConnection.Open();
SqlCommand mySqlCommand=new SqlCommand(strSQL,myConnection);
mySqlCommand.ExecuteNonQuery();//关键在这里出问题
Label1.Text="注册成功";
}
catch
{

Label1.Text="数据库连接失败!";

}
finally
{
myConnection.Close();
}
}


}



}

如果去掉mySqlCommand.ExecuteNonQuery();这个语句就不会出现“数据库连接失败”的提示,但是,去掉之后,虽然提示注册成功,但是察看数据库相对应得表,并没有看到有东西写入数据库(这个表仍然为空)
...全文
564 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2004-07-11
  • 打赏
  • 举报
回复
catch the exception to see the detailed error messages

try
{
myConnection.Open();
SqlCommand mySqlCommand=new SqlCommand(strSQL,myConnection);
mySqlCommand.ExecuteNonQuery();//关键在这里出问题
Label1.Text="注册成功";
}
catch (Exception ex)
{

Label1.Text= ex.Message;
if (ex.InnerException != null)
Label1.Text += ex.InnerException.Message;

}
finally
{
myConnection.Close();
}


also, use string concatenation to form SQL is susceptible to SQL injection attack, use Parameter approach, see

http://msdn.microsoft.com/library/en-us/dnnetsec/html/SecNetch12.asp?frame=true
jierry007 2004-07-11
  • 打赏
  • 举报
回复
ExecuteNonQuery()不能去掉,去掉了就不执行数据库操作了
loveeqing 2004-07-11
  • 打赏
  • 举报
回复
mySqlCommand.ExecuteNonQuery()这不是执行SQL语句的吗?怎么能够去掉
sunrongxa 2004-07-11
  • 打赏
  • 举报
回复
显示出错信息Label1.Text= ex.Message;

62,243

社区成员

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

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

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

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