Как вставить числовое значение в базу данных оракула - PullRequest
0 голосов
/ 03 января 2019

У меня проблема с моим кодом.Мой код работает нормально, но я хочу вставить десятичное число в моей таблице оракула (тип поля в оракуле является число).

"Gewicht" - это текстовое поле, в котором пользователь должен ввести десятичное число. На самом деле я могу вставить только полные числа, но не могу вставить десятичное число.

мои поля данных oracle: TOUR - VARCHAR2 (20 БАЙТ) GEWICHT - НОМЕР

У меня нет большого опыта в программировании, поэтому я выкладываюсь на все сто.Это мой первый сценарий:).

 private void insert()
    {
        try
        {


            String connectionString = "Data Source = (DESCRIPTION = " +
          "(ADDRESS = (PROTOCOL = TCP)(HOST = IP-Adress)(PORT = 1521))" +
          "(CONNECT_DATA =" +
          " (SERVER = DEDICATED)" +
          " (SERVICE_NAME = NAME)" +
          ")" +
          ");User Id = USER;password=password;";

            OracleConnection con = new OracleConnection();
            con.ConnectionString = connectionString;
            con.Open();

            OracleCommand cmd = new OracleCommand();
            cmd.CommandText = "insert into TABLENAME (TOUR,GEWICHT) values ('" + this.comboBox1.Text + "'," + Gewicht.Text+ ")";



            cmd.Connection = con;

            cmd.ExecuteNonQuery();
            con.Close();
            MessageBox.Show("Erfolgreich eingefügt");
            comboBox1.Text = String.Empty;
            Gewicht.Clear();
            viewdata();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Fehler");
        }

1 Ответ

0 голосов
/ 03 января 2019

Вам не хватает кавычек в строке запроса вставки. В любом случае используйте такие параметры, как:

cmd.CommandText = "insert into TABLENAME (TOUR,GEWICHT) values (@tour,@wicht)";
cmd.Parameters.Add("@tour", OracleDbType.NVarChar2).Value = this.comboBox1.Text;
cmd.Parameters.Add("@wicht", OracleDbType.Decimal).Value = Decimal.Parse(Gewicht.Text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...