是否可以更改双列十进制大小
Posted
技术标签:
【中文标题】是否可以更改双列十进制大小【英文标题】:Is it possible to change the Double column Decimal Size 【发布时间】:2013-04-23 23:08:24 【问题描述】:是否可以在 DAO/Query 的帮助下使用 C# 更改 MS ACCESS 中的双列十进制大小(小数位数)。
根据 MSDN
size : 以字符为单位的字段大小(仅限文本和二进制字段)。
Reference
Size 只能在文本和二进制字段的 ALTER 查询中使用。
【问题讨论】:
【参考方案1】:当然,DAO 可以做到:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DAO_test
class Program
static void Main(string[] args)
// required COM reference: Microsoft Office 14.0 Access Database Engine Object Library
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
Microsoft.Office.Interop.Access.Dao.Database db = dbe.Workspaces[0].OpenDatabase(@"C:\__tmp\testData.accdb");
Microsoft.Office.Interop.Access.Dao.Field fld = db.TableDefs["poiData"].Fields["lon"];
Console.WriteLine("Properties[\"DecimalPlaces\"].Value was: " + fld.Properties["DecimalPlaces"].Value);
fld.Properties["DecimalPlaces"].Value = 5;
Console.WriteLine("Properties[\"DecimalPlaces\"].Value is now: " + fld.Properties["DecimalPlaces"].Value);
db.Close();
Console.WriteLine("Hit a key...");
Console.ReadKey();
【讨论】:
还有一个问题:我使用的是 Access 97,我的列是 DOUBLE 类型,“小数位数”= 2。在不更改“小数位数”= 5 的情况下,当我插入数据。我的数据库中是否有任何问题,或者默认情况下只有这样的问题? @andy AFAIK 对于Single
和Double
字段,DecimalPlaces
属性实际上更像是一个显示提示而不是其他任何东西。我刚刚在 Access 2010 中尝试过,我可以在 DecimalPlaces
设置为 4 的字段中添加一个小数点后 6 位的 Double
。
你建议我是必须更改小数位还是必须不更改?
@andy 这真的取决于字段代表什么以及您想用它们做什么。从 Excel 导入的字段通常在 Access 中转换为 Double
,但如果这些数字代表货币金额,那么 Access 中的 Currency
类型是更好的选择。如果只关心显示的小数位数,则将该字段的Format
设置为Fixed
,并将DecimalPlaces
值设置为您想要的小数位数。跨度>
以上是关于是否可以更改双列十进制大小的主要内容,如果未能解决你的问题,请参考以下文章
numpy ndarray 大小已更改,可能表示二进制不兼容
如何更改 seaborn 联合图中的十六进制大小? (六角本身,而不是垃圾箱)
ValueError:numpy.ufunc 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 216,从 PyObject 获得 192
线性模型: numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88,从 PyObject 得到 80”
QISKIT 错误 - numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88,从 PyObject 获得 80