软件注册站
热情软件屋

 
数值为0.5时,数据库却保存为.5
编号: QA004819    
建立日期: 2003年12月28日 最后修改日期: 2004年9月5日
所属类别: Visual Basic - 数据库
   
    操作系统: win98
    编程工具: vb6.0
    问题:用VB6.0的ADOX通过编程语言自动创建ACCESS数据库时,当我创建一个字段并定义它的数据类型为adDouble,我不知道如何编程设定它的格式。例如:常规数字,货币,固定,标准百分比,科学记数等等。这样一来,当我碰到数值为0.5时,数据库却保存为.5。我希望的格式为“固定”,该如何编程,谢谢。
    举例如下:
    '创建数据库
    Public Sub CreateDatabase(dbName As String)
     'On Error GoTo ErrorCreateDB
     Dim catDB As New ADOX.Catalog
     Dim tblNew(1) As ADOX.Table
     Dim Idx() As ADOX.Index
     Dim sCnn As String
    
     sCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & dbName
     catDB.Create sCnn
    
     Set tblNew(0) = New ADOX.Table
     tblNew(0).ParentCatalog = catDB
     With tblNew(0)
     .Name = "wyt"
     .Columns.Append "ID", adInteger
     .Columns("ID").Properties("AutoIncrement").Value = True
     .Columns.Append "aa", adDouble
     .Columns("aa").Properties("NullAble") = True '必填字段
     .Columns("aa").Properties("Jet OLEDB:Allow Zero Length") = True '允许空字符串
    
     End With
     ReDim Idx(0)
     Set Idx(0) = New ADOX.Index
     Idx(0).Name = "ID"
     Idx(0).IndexNulls = adIndexNullsAllow
     Idx(0).Columns.Append "ID"
     tblNew(0).Indexes.Append Idx(0)
     catDB.Tables.Append tblNew(0)
    
    
     Set catDB = Nothing
     Exit Sub
    ErrorCreateDB:
     If Not (catDB Is Nothing) Then Set catDB = Nothing
    End Sub
    

    
    水平: 中级(djs)
   
    我曾经也碰到类似问题,做一个农产品价格在网上发布,在网上显示0.5为.5 ,后改数据类型为字符型就OK了,当数据要相加时得进行强制类型转换,将字符型按规定的格式转换成单精度等类型。
    
    walkonthesky的意见:
    数据库中这样显示是正常的,这种情况的处理需要在前端显示的时候进行格式化处理,如:
    VALUE =0.5 则
    format(VALUE,"$###,##0.00")
    将会显示$0.50
    format(VALUE,"¥###,##0.00")
    将会显示¥0.50
    format(VALUE,"¥###,##00.000我好爱钱钱,可是没有钱")
    将显示¥00.500我好爱钱钱,可是没有钱
    
    相关问题:
    QA004778 "如何设置才能使其显示为0.5,而不是.5"

    

此问题由夏利民回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio