[英]Linking a connection to SQL Server database in ASP.NET (creating signup page)
對我做錯了什么感到困惑,在web.config
文件中,我添加了
<connectionStrings>
<add name="con"
connectionString="Data Source=DESKTOP-8TA96FC\SQLEXPRESS;Initial Catalog=PersciptionPal;Intergrated Security=true;"/>
</connectionStrings>
在我的注冊頁面中,我寫了這個
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.UI.HtmlControls;
namespace PerscriptionManager
{
public partial class WebForm5 : System.Web.UI.Page
{
string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
// sign up button
protected void Button1_Click(object sender, EventArgs e)
{
//Response.Write("<script>alert('Testing');</script>");
try
{
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}// checking if the connection is actually connected to the database
SqlCommand cmd = new SqlCommand("INSERT INTO User_Signup_tbl (Full_name, dob, Contact_Num, Email, County, City, Postcode, Full_Address, User_ID, Password, Account_Status,) VALUES (@Full_name, @dob, @Contact_Num, @Email, @County, @City, @Postcode, @Full_Address, @User_ID, @Password, @Account_Status,)", con);
// place holders must add values
cmd.Parameters.AddWithValue("@Full_name", TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@dob", TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@Contact_Num", TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@Email", TextBox4.Text.Trim());
cmd.Parameters.AddWithValue("@County", DropDownList1.SelectedItem.Value);
cmd.Parameters.AddWithValue("@City", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@PostCode", TextBox7.Text.Trim());
cmd.Parameters.AddWithValue("@Full_Address", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@User_ID", TextBox8.Text.Trim());
cmd.Parameters.AddWithValue("@Password", TextBox10.Text.Trim());
cmd.Parameters.AddWithValue("@account_status", "pending"); // hard code as first time login
cmd.ExecuteNonQuery(); // execute the code and fill database
con.Close(); // close connection
Response.Write("<script>alert('Sign Up Activated. Please Login Using New Details');</script>");
}
catch(Exception ex)
{
Response.Write("<script> alert('" + ex.Message + "');</script>"); // alert if error appears // dynamic message
}
}
}
}
在網上做了一些研究之后,當單擊按鈕時,我真的看不出我在哪里出錯了,沒有任何反應並且數據庫沒有更新。
為幫助干杯:)
SqlCommand cmd = new SqlCommand("INSERT INTO User_Signup_tbl (Full_name, dob, Contact_Num, Email, County, City, Postcode, Full_Address, User_ID, Password, Account_Status) VALUES (@Full_name, @dob, @Contact_Num, @Email, @County, @City, @PostCode, @Full_Address, @User_ID, @Password, @account_status)", con);
傳遞的參數名稱必須在 sql 中匹配而且我認為你不需要在 sql 括號末尾的前導逗號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.