Используя Winforms, как я могу вставить значение замаскированного текстового поля в базу данных?

У меня возникли проблемы со вставкой значения замаскированного поля текстового поля в базу данных с помощью события нажатия кнопки.

У меня есть форма, которая выглядит так:

Вставить форму

Таким образом, вы вводите данные в поля, нажимаете кнопку, и они должны вставляться в базу данных, используя этот код:

        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-значный номер телефона (без маска) для других целей.

Спасибо.


person eduardo1990    schedule 23.03.2017    source источник
comment
Вы начинаете с обучения использованию параметров, чтобы избежать ошибок SQL-инъекций и форматирования.   -  person LarsTech    schedule 23.03.2017
comment
Видимо мой вопрос уже задавался, но я посмотрю эти темы, спасибо!   -  person eduardo1990    schedule 23.03.2017