У меня возникли проблемы со вставкой значения замаскированного поля текстового поля в базу данных с помощью события нажатия кнопки.
У меня есть форма, которая выглядит так:
Таким образом, вы вводите данные в поля, нажимаете кнопку, и они должны вставляться в базу данных, используя этот код:
private void button1_Click(object sender, EventArgs e)
{
// Open connection with the SQL Server, using connection string
SqlConnection con = new SqlConnection("Data Source=MY-PC\\SQLEXPRESS;Initial Catalog=EnlaceDigital;User ID=user;Password=pass");
con.Open();
SqlCommand query = new SqlCommand("INSERT into Contratos VALUES ('" + this.teléfonoMaskedTextBox.Text + "', " +
"'" + this.folio_PISATextBox.Text + "', '" + this.tipo_de_TareaTextBox.Text + "', " +
"'" + this.estatusTextBox.Text + "','" + this.motivo_EstatusTextBox.Text + "','" + this.dTOTextBox.Text + "'," +
"'" + this.cOPETextBox.Text + "','" + this.no__ExpedienteTextBox.Text + "'," +
"'" + DateTime.Parse(this.fecha_InicialDateTimePicker.Text) + "', '" + DateTime.Parse(this.fecha_SolicitudDateTimePicker.Text) + "');", con);
query.ExecuteNonQuery();
MessageBox.Show("Added");
con.Close();
this.Close();
}
Однако этот метод захватывает свойство .Text полей, поэтому маскированное текстовое поле (поле «Teléfono») записывает весь формат маски в мою базу данных!
Итак, в базе данных я получаю что-то вроде «(012) 345 - 6789» вместо 10-значного числа.
Я думаю, это происходит потому, что я в основном вставляю содержимое или текст текстового поля "как есть", так как я использую this.teléfonoMaskedTextBox.Text
и не знаю, как получить фактический >значение поля, а не только текст.
Если это поможет, поле "Teléfono" имеет тип nvarchar(50), поэтому оно "принимает" формат маски, но мне нужно вставить в базу данных только 10-значный номер телефона (без маска) для других целей.
Спасибо.