| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 952 人关注过本帖
标题:新手请教程序运行不了(太穷了只有14分,给你10 分)
只看楼主 加入收藏
VBnext
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2013-4-24
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:11 
新手请教程序运行不了(太穷了只有14分,给你10 分)
想把txt文件保存到数据库中
可是程序运行到    rs(7).Value = Trim(fdArray(7))运行不下去提示:
图片附件: 游客没有浏览图片的权限,请 登录注册

全部程序如下:
Private Sub Command2_Click()
   Dim intFreeNumber As Integer
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim rsArray() As String, fdArray() As String
    Dim i As Long, j As Long
    Dim strTemp As String
    Dim strfile As String
   
    intFreeNumber = FreeFile()
    Open App.Path & "\aa.txt" For Binary As #intFreeNumber
    Do While Not EOF(intFreeNumber)
      strTemp = Input(intFreeNumber, #intFreeNumber)
      strfile = strfile & strTemp
    Loop
    Close #intFreeNumber
    Set conn = New ADODB.Connection
   
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
    conn.Open
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open "select *from [MCOMSITE]", conn, 1, 3


    rsArray = Split(strfile, vbCrLf)
    For i = 1 To UBound(rsArray)
        fdArray = Split(rsArray(i), vbTab)
        For j = 1 To 20
            rs.AddNew
            rs(0).Value = Trim(fdArray(0))
            rs(1).Value = Trim(fdArray(1))
            rs(2).Value = Trim(fdArray(2))
            rs(3).Value = Trim(fdArray(3))
            rs(4).Value = Trim(fdArray(4))
            rs(5).Value = Trim(fdArray(5))
            rs(6).Value = Trim(fdArray(6))
            rs(7).Value = Trim(fdArray(7))
            rs(8).Value = Trim(fdArray(8))
            rs(9).Value = Trim(fdArray(9))
            rs(10).Value = Trim(fdArray(10))
            rs(11).Value = Trim(fdArray(11))
            rs(12).Value = Trim(fdArray(12))
            rs(13).Value = Trim(fdArray(13))
            rs(14).Value = Trim(fdArray(14))
            rs(15).Value = Trim(fdArray(15))
            rs(16).Value = Trim(fdArray(16))
            rs(17).Value = Trim(fdArray(17))
            rs(18).Value = Trim(fdArray(18))
            rs(19).Value = Trim(fdArray(19))
            rs(20).Value = Trim(fdArray(20))
        Next j
    Next i
    rs.UpdateBatch
    Set rs = Nothing
    Set conn = Nothing
End Sub

内容附件:
2.rar (39.52 KB)

搜索更多相关主题的帖子: 数据库 
2013-07-08 15:46
LK868
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:96
注 册:2010-3-27
收藏
得分:5 
数据库字段格式问题 试下这个:rs(7).Value = IIf(IsNull(rs(7).Value), 0, Trim(fdArray(7)))
2013-07-08 17:59
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:5 
字段类型和值类型不匹配。rs(7).name=GROUND_HEIGHT,是数字类型,而你此时的值为"GSM900",是一个字符类型的值。如果这样修改即可:rs(7).Value = right(Trim(fdArray(7)),len(Trim(fdArray(7)))-3).
你后面还会碰到错误。rs(10)为数字类型,但赋值的是个空字符串,改为rs(10).Value = Val(Trim(fdArray(10)))即可,rs(18)为长度10的字符类型,但值为“460-00-21305-33131”,长度超过10,改为rs(18).Value = Left(Trim(fdArray(18)), 10),rs(20)同rs(10)的错误一样,同样修改即可。
2013-07-08 18:25
VBnext
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2013-4-24
收藏
得分:0 
回复 3楼 lowxiong
如果rs(7).name=GROUND_HEIGHT,是数字类型,而你此时的值为"GSM900",我就保留GSM900,该怎么办?

rs(10)为数字类型,但赋值的是个空字符串,就是想保留空字符串该怎么办?、

即想让数据库中数据和txt文件用excel打开一致不能该表txt文件中的内容.希望您你呢该点提示?万分感激
2013-07-08 19:56
LK868
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:96
注 册:2010-3-27
收藏
得分:0 
以下是引用VBnext在2013-7-8 19:56:28的发言:

如果rs(7).name=GROUND_HEIGHT,是数字类型,而你此时的值为"GSM900",我就保留GSM900,该怎么办?

rs(10)为数字类型,但赋值的是个空字符串,就是想保留空字符串该怎么办?、

即想让数据库中数据和txt文件用excel打开一致不能该表txt文件中的内容.希望您你呢该点提示?万分感激
数据表中字段类型为:数字。而你想要保存为“GSM900”值,这是不可能通过的。除非把字段类型修改为:文本

rs(10)为数字类型,但赋值的是个空字符串,就是想保留空字符串该怎么办?   用ISNULL()
2013-07-08 20:30
VBnext
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2013-4-24
收藏
得分:0 
回复 5楼 LK868
字段类型和值类型不匹配。rs(7).name=GROUND_HEIGHT,是数字类型,而你此时的值为"GSM900",是一个字符类型的值。

又看看一下rs(7).name=GROUND_HEIGHT是字符型呀:如图
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-07-08 21:12
VBnext
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2013-4-24
收藏
得分:0 
回复 5楼 LK868
rs(7).name=GROUND_HEIGHT
是字符型,如图:
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-07-08 21:15
LK868
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:96
注 册:2010-3-27
收藏
得分:0 
以下是引用VBnext在2013-7-8 21:15:59的发言:

rs(7).name=GROUND_HEIGHT
是字符型,如图:
图片附件: 游客没有浏览图片的权限,请 登录注册
是你的数据库表字段类型定死了“数字”。所以出错
2013-07-08 21:24
VBnext
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2013-4-24
收藏
得分:0 
回复 8楼 LK868
请教一下,数据类型怎么看呀?
这个数据库是从别人那拷贝的》
谢谢
2013-07-08 22:10
LK868
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:96
注 册:2010-3-27
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
         ][attach]71879[/attach]

[ 本帖最后由 LK868 于 2013-7-8 22:17 编辑 ]
2013-07-08 22:16
快速回复:新手请教程序运行不了(太穷了只有14分,给你10 分)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028708 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved