2012-10-03 38 views
1

我想在使用SQL的ms-access表中創建列。我想把我的vb.net軟件中的double放到有小數位的列中。我不確定用於啓用訪問以接收小數位的正確列類型。如下所示,我嘗試了long,但是這似乎是長整數而不是長整數。從Microsoft.com它可能會出現我的選項如下:通過SQL在ms-access中爲Double創建一列

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"

感謝您的幫助

+1

要知道,你一定要小心使用雙比較:http://www.pcreview.co.uk/forums/double -VS-十進制t3398899.html – Fionnuala

回答