如何将数字值插入预言机数据库



我的代码有问题。我的代码工作正常,但我想在我的预言机表中插入一个十进制数(预言机中字段的类型是数字)。

"Gewicht"是一个文本字段,用户必须在其中键入十进制数。 实际上我可以只插入完整的数字,但我不能插入十进制。

我的预言机数据字段:游览 - VARCHAR2(20 字节)格威希特 - 号码

我对编程没有太多经验,所以我尽力而为。这是我的第一个脚本:)。

 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");
        }

插入查询字符串中缺少引号。在任何情况下,请使用如下参数:

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);

最新更新