Insersting Decimal-values使用c#和INSERT INTO进入访问数据库

时间:2017-11-11 12:17:11

标签: c# sql database ms-access

我将字符串转换为十进制是一个问题,这是“,”分开。我在文本框中写了一些像23.4毫米的值。之后,我点击按钮,希望将值转换为十进制,然后将其插入到我的访问数据库中。

对于整个过程,我使用以下代码:

 int auftragsnummer, rolle, maschinenfuehrer, prueferin, maschine ,werk; double  mw_1, mw_2, mw_3;
        Int32.TryParse(mf_id.Text, out maschinenfuehrer);
        Int32.TryParse(lab_id.Text, out prueferin);
        Int32.TryParse(masch.Text, out maschine);
        Int32.TryParse(kund_id.Text, out werk);
        Int32.TryParse(auftrag.Text, out auftragsnummer);
        Int32.TryParse(Rolle.Text, out rolle);
        Double.TryParse(textBox2.Text, NumberStyles.Any, CultureInfo.CurrentCulture, out mw_1);
        Double.TryParse(textBox1.Text, NumberStyles.Any, CultureInfo.CurrentCulture, out mw_2);
        Double.TryParse(textBox3.Text, NumberStyles.Any, CultureInfo.InstalledUICulture, out mw_3);
        con.Open();
        OleDbCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "INSERT INTO GLri (Auftragsnummer, Rolle, Mf, Prueferin, Maschine, Werk, Messwerteins, Messwertzwei, Messwertdrei ) values(" + auftragsnummer + "," + rolle + "," + maschinenfuehrer + "," + prueferin + "," + maschine + "," + werk + "," + mw_1 + "," + mw_2 + "," + mw_3 + ")";
        cmd.ExecuteNonQuery();
        con.Close();

为了插入我的访问数据库,我使用INSERT INTO指令。但是,当我写这个版本23,2“,”分开并想要插入它时,我得到一个错误,说我的数据库表没有足够的列。当我用点分隔值时,它将值插入我的数据库而不是十进制值。例如:我在文本框中写入22.4,程序将224插入到我的数据库表中。

那些必须以十进制表示的列已经声明为十进制。

有人能帮我解决这个问题吗?我无法发现我的错误。

顺便说一下,这是否正确使用sql-command?

非常感谢!

0 个答案:

没有答案