数据库不接收信息
本文关键字:信息 数据库 | 更新日期: 2023-09-27 18:36:02
我正在编写一个 asp.net/c# Web表单,用于更新SQL Server数据库中的信息。我遇到的问题是注册页面。由于某种原因,数据不会发送到服务器。我也为主页提供了非常相似的代码,运行良好。
下面是不向 SQL Server 发送信息的注册页:
using System;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data.SqlClient;
using System.Drawing;
using System.Configuration;
namespace WebApplication3
{
public partial class Signup : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO Users(UserID, Password, FirstName, MiddleName, LastName, Email) VALUES (@UserID, @Password, @FirstName, @MiddleName, @LastName, @Email)", conn);
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.AddWithValue("@UserID", TextBox1.Text);
cmd.Parameters.AddWithValue("@Password", TextBox2.Text);
cmd.Parameters.AddWithValue("@FirstName", TextBox3.Text);
cmd.Parameters.AddWithValue("@MiddleName", TextBox4.Text);
cmd.Parameters.AddWithValue("@LastName", TextBox5.Text);
cmd.Parameters.AddWithValue("@Email", TextBox6.Text);
conn.Open();
cmd.ExecuteNonQuery();
Response.Redirect("login.aspx");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from Users where UserID= '" + TextBox1.Text + "'", conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Label1.Text="UserName is Taken";
this.Label1.ForeColor=Color.Red;
}
else
{
Label1.Text="UserName is not Taken";
this.Label1.ForeColor = Color.Black;
}
}
}
下面是主页的代码,它按预期运行:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
namespace WebApplication3
{
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO Observations(UserID, DateTime, Loc_Lat, Loc_Lon, Observation, Comments) VALUES (@UserID, @DateTime, @Loc_Lat, @Loc_Lon, @Observation, @Comments)", conn);
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.AddWithValue("@UserID", TextBox1.Text);
cmd.Parameters.AddWithValue("@Observation", TextBox2.Text);
cmd.Parameters.AddWithValue("@DateTime", DateTime.Now);
cmd.Parameters.AddWithValue("@Comments", TextBox3.Text);
cmd.Parameters.AddWithValue("@Loc_Lat", TextBox4.Text);
cmd.Parameters.AddWithValue("@Loc_Lon", TextBox5.Text);
conn.Open();
cmd.ExecuteNonQuery();
Response.Redirect("Webform1.aspx");
}
}
我的问题的原因是什么?提前感谢!
编辑:这是我的连接字符串:
(<)add name="testConnectionString1" connectionString="Data Source=MALAYSIA'SQLEXPRESS;Initial Catalog=test;Integrated Security=True"
好的,
我找到了解决问题的方法。事实证明,在按钮属性中,PostBackurl设置为登录.aspx页面。删除此内容后,该程序现在可以运行。