gpt4 book ai didi

c# - 在 ASP.net 上的 SQL 数据库中插入数据

转载 作者:搜寻专家 更新时间:2023-10-30 23:30:19 25 4
gpt4 key购买 nike

我正在使用 ASP.NET 并使用 C# 构建网站项目。在制作注册和登录表单时,我在连接到数据库(插入)/SQL 数据库时遇到问题。

我在下面给出我的代码:

注册表单:

<div id="Sign_Up_Form" style="display: none">
<form class="modal-content animate" method="post" action="">
<div class="input">
<div>
<div>Name</div>
<asp:TextBox CssClass="signUp_input" ID="First_Name" runat="server" placeholder="First Name" style="height: 20px; padding-left: 1px;"></asp:TextBox>
<asp:TextBox CssClass="signUp_input" ID="Last_Name" runat="server" placeholder="Last Name" style="height: 20px; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Email</div>
<asp:TextBox CssClass="signUp_input" ID="Regi_Email" runat="server" placeholder="Your email here" style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Password</div>
<asp:TextBox CssClass="signUp_input" ID="Regi_Password" type="password" runat="server" placeholder="**********" style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Confirm Password</div>
<asp:TextBox CssClass="signUp_input" ID="Confirm_Regi_Password" type="password" runat="server" placeholder="**********" style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Age</div>
<asp:TextBox CssClass="signUp_input" ID="Age" type="number" runat="server" placeholder="e.g. 21" style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Gender:</div>
<asp:RadioButtonList CssClass="radio" ID="Gender" runat="server">
<asp:ListItem Value="1">Male</asp:ListItem>
<asp:ListItem Value="2">Female</asp:ListItem>
<asp:ListItem Value="3">Other</asp:ListItem>
</asp:RadioButtonList>
</br>
</div>
</div>
<asp:Button ID="Register_Button" runat="server" value="Join" OnClick="userRegister" CssClass="button_join" Text="Join" />
</form>

我不确定是否应该在表单标签中提供 post 方法。

userRegister 方法是(编辑的方法,在我得到建议后):

  protected void userRegister(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["Khulna_website"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
con.Open();

string insertQuery = "insert into dbo.users(user_f_name,user_l_name,user_password,user_email,user_age, user_gender) values (@First_Name, @Last_Name, @Regi_Password, @Regi_Email, @Age, @Gender);";

SqlCommand com = con.CreateCommand();

com.CommandText= insertQuery;
com.Parameters.AddWithValue("@First_Name", First_Name.Text);
com.Parameters.AddWithValue("@Last_Name", Last_Name.Text);
com.Parameters.AddWithValue("@Regi_Password", Regi_Password.Text);
com.Parameters.AddWithValue("@Regi_Email", Regi_Email.Text);
com.Parameters.AddWithValue("@Age", Age.Text);
com.Parameters.AddWithValue("@Gender", First_Name.Text);


com.ExecuteNonQuery();
con.Close();

Response.Write("Registration is Successful!");
}

我的数据库表代码是:

CREATE TABLE [dbo].[users] (
[user_id] INT IDENTITY (1, 1) NOT NULL,
[user_f_name] VARCHAR (15) NOT NULL,
[user_l_name] VARCHAR (15) NOT NULL,
[user_password] VARCHAR (20) NOT NULL,
[user_email] VARCHAR (30) NOT NULL,
[user_age] INT NOT NULL,
[user_gender] INT NOT NULL,
[user_profession] VARCHAR (20) NULL,
[user_about] VARCHAR (200) NULL,
PRIMARY KEY CLUSTERED ([user_email] ASC)
);

事实#1 我使用添加新项目-> SQL 数据库创建了数据库。它是在 AppData 下创建的。然后我再次在 Web.config 文件下插入一个 connectionString。当我填写表格并提交时,我看到我的数据库(命名为 dabase.mdf)旁边的连接的绿色消失了,它是红色的,我需要刷新它再次变成绿色。

事实#2 我试图在一开始就编写 response.write() 代码。但是没有任何变化。

问题是:没有插入数据。任何一个事实都是原因吗?还是我遗漏了其他任何问题?

附言我对这个话题完全陌生,非常感谢任何帮助。

编辑:我实际上有两个事实的问题。我在试图找出问题的根源时发现了事实。

最佳答案

web.config 中,您的连接字符串应该是这样的:

<connectionStrings>
<add name="Khulna_website" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"/>
</connectionStrings>

网络表单:

<form id="form1" runat="server">
<div class="input">
<div>
<div>Name</div>
<asp:TextBox CssClass="signUp_input" ID="First_Name" runat="server" placeholder="First Name" Style="height: 20px; padding-left: 1px;"></asp:TextBox>
<asp:TextBox CssClass="signUp_input" ID="Last_Name" runat="server" placeholder="Last Name" Style="height: 20px; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Email</div>
<asp:TextBox CssClass="signUp_input" ID="Regi_Email" runat="server" placeholder="Your email here" Style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Password</div>
<asp:TextBox CssClass="signUp_input" ID="Regi_Password" type="password" runat="server" placeholder="**********" Style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Confirm Password</div>
<asp:TextBox CssClass="signUp_input" ID="Confirm_Regi_Password" type="password" runat="server" placeholder="**********" Style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Age</div>
<asp:TextBox CssClass="signUp_input" ID="Age" type="number" runat="server" placeholder="e.g. 21" Style="height: 20px; width: 70%; padding-left: 1px;"></asp:TextBox>
</div>
<div>
<div>Gender:</div>
<asp:RadioButtonList CssClass="radio" ID="Gender" runat="server">
<asp:ListItem Value="1">Male</asp:ListItem>
<asp:ListItem Value="2">Female</asp:ListItem>
<asp:ListItem Value="3">Other</asp:ListItem>
</asp:RadioButtonList>
<br/>
</div>
</div>
<asp:Button ID="Register_Button" runat="server" value="Join" OnClick="userRegister" CssClass="button_join" Text="Join" />
</form>

代码隐藏:

protected void userRegister(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["Khulna_website"].ConnectionString;
using (SqlConnection connection = new SqlConnection(constr))
{
string insertQuery = "insert into dbo.users(user_f_name,user_l_name,user_password,user_email,user_age, user_gender) values (@First_Name, @Last_Name, @Regi_Password, @Regi_Email, @Age, @Gender);";

SqlCommand com = new SqlCommand(insertQuery, connection);

connection.Open();

com.Parameters.AddWithValue("@First_Name", First_Name.Text);
com.Parameters.AddWithValue("@Last_Name", Last_Name.Text);
com.Parameters.AddWithValue("@Regi_Password", Regi_Password.Text);
com.Parameters.AddWithValue("@Regi_Email", Regi_Email.Text);
com.Parameters.AddWithValue("@Age", Age.Text);
com.Parameters.AddWithValue("@Gender", Gender.SelectedValue);

com.ExecuteNonQuery();
}
}

它应该可以工作。

关于c# - 在 ASP.net 上的 SQL 数据库中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49955303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com