2

我正在尝试使用 SQL 在我的 ms-access 表中创建列。我想将double我的 vb.net 软件中的 s 放入带有几个小数位的列中。我不确定用于启用访问以接收小数位的正确列类型。如下所示,我尝试过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"

谢谢你的帮助

4

1 回答 1

1

用于DOUBLE字段类型。

ALTER TABLE tabDataHourly ADD COLUMN PAR0005 DOUBLE;

您可以在此处找到有关 Access DDL 字段类型的更多信息:字段类型参考 - DDL、DAO 和 ADOX 的名称和值

于 2012-10-03T16:07:29.953 回答