大家好,我在VB中操作DBF文件,新建一个DBF文件,规定好格式,往中间插入数据,都可以正常进行,就是看插入后的数据的时候感觉跟自己定义的数据类型不太一样。
代码如下:
Dim cnDBF As ADODB.Connection
Dim strConString As String
Dim strPath As String
Dim strSql As String
Dim str1 As String
strPath = filepath
strfile = "test." & "dbf"
strConString = "Provider=" & "Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=dBASE IV ;User ID=Admin;Password="
Set cnDBF = New ADODB.Connection
cnDBF.ConnectionString = strConString
cnDBF.Open
strSql = "CREATE TABLE [" & strfile & "]" & "(caller char(20),called char(20),talkfee decimal(7, 2),infofee decimal(8, 2))"
cnDBF.Execute strSql
Dim i As Integer
For i = 1 To List1.ListItems.Count
strSql = "Insert into " & strfile & _
" Values('" + List1.ListItems(i).Text + "','" + List1.ListItems(i).SubItems(1) + "',0.00," + List1.ListItems(i).SubItems(3) + ")"
cnDBF.Execute strSql
Next i
cnDBF.Close
Set cnDBF = Nothing
具体情况是这样的:
talkfee,infofee这两列定义的是保留两位小数,但是插入数据后记事本打开看,都是有5位小数,不管我修改保留几位总是自动的保留5位小数,请各位帮忙看看,多谢!
代码如下:
Dim cnDBF As ADODB.Connection
Dim strConString As String
Dim strPath As String
Dim strSql As String
Dim str1 As String
strPath = filepath
strfile = "test." & "dbf"
strConString = "Provider=" & "Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=dBASE IV ;User ID=Admin;Password="
Set cnDBF = New ADODB.Connection
cnDBF.ConnectionString = strConString
cnDBF.Open
strSql = "CREATE TABLE [" & strfile & "]" & "(caller char(20),called char(20),talkfee decimal(7, 2),infofee decimal(8, 2))"
cnDBF.Execute strSql
Dim i As Integer
For i = 1 To List1.ListItems.Count
strSql = "Insert into " & strfile & _
" Values('" + List1.ListItems(i).Text + "','" + List1.ListItems(i).SubItems(1) + "',0.00," + List1.ListItems(i).SubItems(3) + ")"
cnDBF.Execute strSql
Next i
cnDBF.Close
Set cnDBF = Nothing
具体情况是这样的:
talkfee,infofee这两列定义的是保留两位小数,但是插入数据后记事本打开看,都是有5位小数,不管我修改保留几位总是自动的保留5位小数,请各位帮忙看看,多谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货