簡體   English   中英

在數據庫C#中保存一個十進制值

[英]save a decimal value in database c#

我正在嘗試將文本框中的值保存到sql數據庫中。 我遇到如圖所示的錯誤。 我的代碼如下:

    public void datastore()
        {
            string Blerje, Shitje, Data;
            Blerje = usdollar_buy.Text;
            Shitje = usdollar_sell.Text;
            Data = dateTimePicker.Text;

            try
            {
                string constring = "Data Source=DELL;Initial Catalog=login_register;Integrated Security=True";

                /* Declaring Connection Variable */
                SqlConnection con = new SqlConnection(constring);
                String sql = "INSERT into [login_register].[dbo].[BlerjeShitje] values ('" + Blerje + "','" + Shitje + "','" + Data + "')";

                /* Checking Connection is Opend or not If its not open the Opens */
                if (con.State != ConnectionState.Open)
                    con.Open();

                SqlCommand cmd = new SqlCommand(sql, con);

                /* Executing Stored Procedure */
                cmd.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("Te dhenat u ruajten ne databaze");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

在此處輸入圖片說明

1.您的表中的列可能比查詢中提到的values(3)多。 因此,最好在查詢中指定要插入值的列的列名。

嘗試這個:

INSERT INTO [TableName](COL1,COl2,COL3)
Values(Value1,Value2,Value3);

2.正如您提到的列是小數,您通過將值括在單引號中將它們作為字符串插入。

您不應將十進制值用單引號引起來。

建議:您的查詢已對SQL注入攻擊開放。 我建議您使用參數化查詢來避免它們。

將數據類型更改為(18,6)左右,以適合您的方式為准,

十進制數據類型的第二部分顯示在“點”之后需要多少個數字。 在您的情況下,它是“ 0”,因此db將其舍入到最接近的整數。

來源: http//msdn.microsoft.com/en-us/library/ms187746.aspx

您缺少insert語句中的字段。

數據庫將嘗試確定正確的列及其順序,但是,如果您未按適當的順序交付所有字段,則查詢將失敗。

簡而言之:

  1. 以正確的順序交付所有字段;
  2. 或者:添加要填寫的字段insert

樣品:

String sql = "INSERT into [login_register].[dbo].[BlerjeShitje] (Blerje, Shitje, Data) values ('" + Blerje + "','" + Shitje + "','" + Data + "')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM