[英]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將其舍入到最接近的整數。
您缺少insert
語句中的字段。
數據庫將嘗試確定正確的列及其順序,但是,如果您未按適當的順序交付所有字段,則查詢將失敗。
簡而言之:
insert
。 樣品:
String sql = "INSERT into [login_register].[dbo].[BlerjeShitje] (Blerje, Shitje, Data) values ('" + Blerje + "','" + Shitje + "','" + Data + "')";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.