是否可以更改双列十进制大小

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 对于SingleDouble 字段,DecimalPlaces 属性实际上更像是一个显示提示而不是其他任何东西。我刚刚在 Access 2010 中尝试过,我可以在 DecimalPlaces 设置为 4 的字段中添加一个小数点后 6 位的 Double 你建议我是必须更改小数位还是必须不更改? @andy 这真的取决于字段代表什么以及您想用它们做什么。从 Excel 导入的字段通常在 Access 中转换为 Double,但如果这些数字代表货币金额,那么 Access 中的 Currency 类型是更好的选择。如果只关心显示的小数位数,则将该字段的Format 设置为Fixed,并将DecimalPlaces 值设置为您想要的小数位数。跨度>

以上是关于是否可以更改双列十进制大小的主要内容,如果未能解决你的问题,请参考以下文章

numpy ndarray 大小已更改,可能表示二进制不兼容

Maven:资源二进制文件在构建后更改文件大小

如何更改 seaborn 联合图中的十六进制大小? (六角本身,而不是垃圾箱)

ValueError:numpy.ufunc 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 216,从 PyObject 获得 192

线性模型: numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88,从 PyObject 得到 80”

QISKIT 错误 - numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88,从 PyObject 获得 80