【问题标题】:Create a Column for a Double in ms-Access via SQL通过 SQL 在 ms-Access 中为 Double 创建列
【发布时间】:2012-09-24 14:00:30
【问题描述】:

我正在尝试使用 SQL 在我的 ms-access 表中创建列。我想将我的 vb.net 软件中的doubles 放入带有几个小数位的列中。我不确定用于启用访问以接收小数位的正确列类型。如下所示,我尝试过long,但这似乎是长整数而不是长数字。从 Microsoft.com 看来,我的选择如下:

CHAR [( {size} )] | CHARACTER [( {size} )] | LONGCHAR | SHORT | INT | INTEGER | LONG | OBJECT [NOT NULL] [TEMPORARY] [LOCALIZABLE] [HOLD].

我当前的代码如下,子运行一个函数来访问数据库。

    Public Sub AddColumnsToDatabase(ByVal Parameter)

    Dim scaleCounter
    Dim TableName As String
    Dim ColumnString As String
For scaleCounter = 2 To 2
        DatabaseSelector(scaleCounter)
        TableName = DataLocations(1, scaleCounter)

        cnnOLEDB = New OleDbConnection
        cnnOLEDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataDirectoryName & DatabaseFileName
        cnnOLEDB.Open()

        cmdOLEDB.Connection = cnnOLEDB

        ColumnString = "PAR" & Format(Parameter, "0000")
        DatabaseConnectioninsert("ALTER TABLE " & TableName & " ADD " & ColumnString & " Long", "Non-Query")

        cnnOLEDB.Close()
        rdrOLEDB.Close()
end sub

 Public Function DatabaseConnectioninsert(ByVal Query As String, ByVal Task As String) As String
    On Error GoTo Err

    cmdOLEDB.CommandText = Query

    Select Case Task
        Case "Read Recordset"
            rdrOLEDB = cmdOLEDB.ExecuteReader()
            DatabaseConnectioninsert = "Read Recordset"
        Case "Read Scalar"
            DatabaseConnectioninsert = cmdOLEDB.ExecuteScalar
        Case "Non-Query"
            cmdOLEDB.ExecuteNonQuery()
            DatabaseConnectioninsert = "Non-Query"
    End Select


    Exit Function
Err:
    DatabaseConnectioninsert = "Error"


End Function

一个示例 SQL 查询是 Query = "ALTER TABLE tabDataHourly ADD PAR0005 Long"

感谢您的帮助

【问题讨论】:

标签: sql vb.net visual-studio ms-access visual-studio-2005


【解决方案1】:

使用DOUBLE 作为字段类型。

ALTER TABLE tabDataHourly ADD COLUMN PAR0005 DOUBLE;

您可以在此处找到有关 Access DDL 字段类型的更多信息:Field type reference - names and values for DDL, DAO, and ADOX

【讨论】:

    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多