Я нашел обходной путь, который решил эту конкретную проблему: данные из базы данных загружаются в один набор элементов управления, а информация об обновлении вводится в отдельный набор элементов управления.Спасибо за комментарии;приложение работает.
Попытка обновить строку базы данных.Я написал следующий код, основанный на том, что я нашел на нескольких форумах / сайтах.Код не обновляет базу данных.
После попыток что-либо исправить эту ошибку я обнаружил следующее: база данных будет обновляться правильно, если значение @editFirstName является литералом, как в
* 1006.*
Я также пытался
UpdateCmd.Parameters["@editFirstName"] = "'" + editFirstNameContent.Text + "'";
, который не работал.
Я также пытался поместить данные TextBox в переменную и использовать переменную:
string firstNameValue = editFirstNameContent.Text;
UpdateCmd.Parameters["@editFirstName"] = firstNameValue;
, который не работал.
Поэтому команда UPDATE, по-видимому, обновляет базу данных.Однако, очевидно, строка Parameters.Value не считывает данные в TextBox и поэтому не обновляется с измененным значением.
protected void editCustomerButton_Click(object Sender, EventArgs e)
{
string connString = WebConfigurationManager.ConnectionStrings["proofreadThePlanetConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connString))
{
connection.Open();
string updateString = "UPDATE tblCustomerInfo SET customerID=@editCustomerID, customerFirstName=@editFirstName, customerLastName=@editLastName, customerEmail=@editEmail WHERE customerID=" + Request.QueryString["EID"];
SqlCommand UpdateCmd = new SqlCommand(updateString, connection);
UpdateCmd.Parameters.Add("@editCustomerID", SqlDbType.Int);
UpdateCmd.Parameters["@editCustomerID"].Value = editCustomerIDContent.Text;
UpdateCmd.Parameters.Add("@editFirstName", SqlDbType.VarChar, 25);
UpdateCmd.Parameters["@editFirstName"].Value = editFirstNameContent.Text;
UpdateCmd.Parameters.Add("@editLastName", SqlDbType.VarChar, 50);
UpdateCmd.Parameters["@editLastName"].Value = editLastNameContent.Text;
UpdateCmd.Parameters.Add("@editEmail", SqlDbType.VarChar, 75);
UpdateCmd.Parameters["@editEmail"].Value = editEmailContent.Text;
UpdateCmd.ExecuteNonQuery();
}
}