我有幾頁預訂和每頁保存數據。例如,第一頁將目的地添加到數據庫,第二頁選擇乘客數量。將數據添加到數據庫的部分(asp.net)
我有一個表來存儲所有這一切:
CREATE TABLE [dbo].[Transactions] (
[cardNumber ] NCHAR (10) NULL,
[Cost] NCHAR (10) NULL,
[Passengers] NCHAR (10) NULL,
[Destination] NCHAR (10) NULL
);
在目標頁面,我用下面的代碼輸入目的地到數據庫:
protected void Button2_Click1(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString);
conn.Open();
string insert = "insert into Transactions (Destination) values (@Destination)";
SqlCommand com = new SqlCommand(insert, conn);
com.Parameters.AddWithValue("@Destination", DropDownList1.SelectedItem);
com.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
Response.Write("Error: " + ex.ToString());
}
Response.Redirect("Booking.aspx");
}
在接下來的頁面我有相對相同的代碼輸入乘客數量:
protected void Button2_Click(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString);
conn.Open();
string insert = "insert into Transactions (Passengers) values (@Passengers)";
SqlCommand com = new SqlCommand(insert, conn);
com.Parameters.AddWithValue("@Passengers", DropDownList1.SelectedItem);
com.ExecuteNonQuery();
conn.Close();
}
catch(Exception ex)
{
Response.Write("Error: " + ex.ToString());
}
Response.Redirect("Payment.aspx");
}
但做完這個沒有d ata進入數據庫。如果有人知道我可以一次將數據輸入數據庫,請告訴我。
如果不能這樣做,並有一個更好的方式做到這一點,請讓我知道。
謝謝大家的時間。
移動'響應。 Redirect(「Payment.aspx」);'conn.Close();'之後''如果拋出異常,'Response.Write'將被重定向隱藏。 – Kalten
當您運行代碼並使用斷點alsorefactor Sql對象並將它們包裝在'using(){}'時,會發生什麼情況也會嘗試發出'Commit'並查看這是否也有助於您意識到單擊此按鈕會導致' PostBack「每頁都有什麼」Page_Load「代碼 – MethodMan
我對你很直率,我不知道這些內容的一半是什麼意思。頁面加載void是空的,但感謝Kalten我已經這樣做了,所以當出現錯誤時它不會重定向。 – ceefax12