double d=-3.5738402433531764;
string sql = "update Table1 set [Number]=@p1 where ID=1";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.\\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\\Database.mdf;User Instance=true";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter sp = new SqlParameter("@p1",SqlDbType.Decimal,38,18);
sp.Value=d;
cmd.Parameters.Add(sp);
try
{
conn.Open();
return(cmd.ExecuteNonQuery());
}
catch (Exception)
{
return -1;
throw;
}
finally
{
conn.Close();
}
Number字段建议用Decimal(38,19)类型存储。
C#程序中查询数据时建议用Double或Decimal。
c#double的有效位数(也就是不管整数部分还是小数部分加起来的位数)是15位,因此你后面再手工加多少位都是没用的,.net内部就不会给你保留!