ウェブフォームからデータベースを更新する際に問題が発生しています。データソースによって入力される一連のテキストボックスとドロップダウンリストを使用していますが、何らかの理由でそれらを更新できません。
基本的に、行の主キーは次のページに渡され、そこでテキスト ボックス、ドロップダウン リストにその行のデータが取り込まれます。
これが私がこれまでに試したことです
//Update the record with new information entered into controls
protected void UpdateBut_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection("Data Source=stephenp\\sqlexpress;Initial Catalog=Asset management System DB;Integrated Security=True"))
{
string sql = "UPDATE Peripherals SET PeripheralType=@PeripheralType, Model=@Model, PeripheralSerialNumber=@SerialNum, " +
"Company = @Company, Department=@Department, Status=@Status, WarrantyExpirationDate=@Warranty, PeripheralCapexNumber=@CapexNum, " +
"IPAddress=@IPAddress, LastModifiedDate = @LastMD, LastModifiedBy=@LastMB WHERE (PeripheralTagNumber = @PeripheralTagNumber)";
//try
//{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@PeripheralType", TypeDDL.Text.Trim());
cmd.Parameters.AddWithValue("@Model", ModelTB.Text.Trim());
cmd.Parameters.AddWithValue("@SerialNum", SerialNumTB.Text.Trim());
cmd.Parameters.AddWithValue("@Company", CompanyDDL.Text.Trim());
cmd.Parameters.AddWithValue("@Department", DepartmentDDL.Text.Trim());
cmd.Parameters.AddWithValue("@Status", StatusDDL.Text.Trim());
cmd.Parameters.AddWithValue("@Warranty", DateTime.Parse(WarrantyTB.Text.Trim()).ToShortDateString());
cmd.Parameters.AddWithValue("@CapexNum", CapexNumTB.Text.Trim());
cmd.Parameters.AddWithValue("@IPAddress", IPAddressTB.Text.Trim());
cmd.Parameters.AddWithValue("@LastMD", DateTime.Now.Date.ToShortDateString());
cmd.Parameters.AddWithValue("@LastMB", Session["username"].ToString());
cmd.Parameters.AddWithValue("@PeripheralTagNumber", ID);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
//}
//catch (SqlException ex) { }
}
this.getData();
}
ありがとう