Foxtable(狐表)用户栏目专家坐堂 → 数组输出转化


  共有2214人关注过本帖树形打印复制链接

主题:数组输出转化

帅哥哟,离线,有人找我吗?
扶风
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:3258 威望:0 精华:0 注册:2015/6/2 8:33:00
数组输出转化  发帖心情 Post By:2018/1/16 18:42:00 [只看该作者]

老师,现在我 s elect 数据 from {表},得到如下数据,但如下的是在同一个单元格内同一组数组
+1.02000E -9,+2.03500E -2
+1.07502E -9,+2.07700E -2
+1.07230E -9,+2.10000E -2
+1.02565E -9,+2.10200E -2
+1.04150E -9,+1.83700E -2
+1.04732E -9,+1.72900E -2
+1.06696E -9,+2.02800E -2
+1.06077E -9,+1.77500E -2
+1.05436E -9,+1.95400E -2

如何将如上数组输出 至2个单元格内?以逗号分割,且一行2个填充完另起分行,如上列就输出9行?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/16 21:04:00 [只看该作者]

Dim  str As String = 查询的数据
Dim arr() As String = str.Replace(vbcr,"").Split(vblf)
For Each a As String In arr
    Dim r As Row = Tables("表A").AddNew
    Dim ar2() As String = a.Split(",")
    r("第一列") = ar2(0)
    r("第二列") = ar2(1)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
扶风
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:3258 威望:0 精华:0 注册:2015/6/2 8:33:00
  发帖心情 Post By:2018/1/17 18:26:00 [只看该作者]

老师,提示,索引超出了数组界限。
Dim str As String ="S elect 数据 from {电容出厂} where 投产数量='4' "
Dim arr() As String = str.Replace(vbcr,"").Split(vblf)
For Each a As String In arr
    Dim r As Row = Tables("CDF容量导入").AddNew
    Dim ar2() As String = a.Split(",")
    r("CAP") = ar2(0)
    r("DF") = ar2(1)
Next
DataTables("CDF容量导入").save()

且只有一个CAP的单元格有内容,为"S elect 数据 from {电容出厂} where 投产数量='4' "

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 20:47:00 [只看该作者]

请做例子具体说明你的问题

 

Dim str As String ="这里是你的数据,不是查询语句"  '+1.02000E -9,+2.03500E -2 +1.07502E -9,+2.07700E -2
Dim arr() As String = str.Replace(vbcr,"").Split(vblf)
For Each a As String In arr
    Dim r As Row = Tables("CDF容量导入").AddNew
    Dim ar2() As String = a.Split(",")
    r("CAP") = ar2(0)
    r("DF") = ar2(1)
Next
DataTables("CDF容量导入").save()

 回到顶部
帅哥哟,离线,有人找我吗?
扶风
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:3258 威望:0 精华:0 注册:2015/6/2 8:33:00
  发帖心情 Post By:2018/1/18 17:59:00 [只看该作者]

Dim val2 As String
Dim cmd2 As New SQLCommand
cmd2.CommandText  ="(S elect 数据 from {电容出厂} where 投产数量='4' )"
val2 = cmd2.ExecuteScalar()
Dim str As String = ""& val2 &""
Dim arr() As String = str.Replace(vbcr,"").Split(vblf)
For Each a As String In arr
    Dim r As Row = Tables("CDF容量导入").AddNew
    Dim ar2() As String = a.Split(",")
    r("CAP") = ar2(0)
    r("DF") = ar2(1)
Next
DataTables("CDF容量导入").save()

老师,数据是导进去了,但为什么还是报错 “索引超出了数组界限。” 导进去有80行,是因为字节长度问题吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/18 18:17:00 [只看该作者]

试试这样,可能命令窗口弹出什么

 

Dim val2 As String
Dim cmd2 As New SQLCommand
cmd2.CommandText  ="Select 数据 from {电容出厂} where 投产数量='4' "
Dim str As String = cmd2.ExecuteScalar()
Dim arr() As String = str.Replace(vbcr,"").Split(vblf)
For Each a As String In arr
    Dim ar2() As String = a.Split(",")
    output.show(a)
    If ar2.length >= 2 Then
        Dim r As Row = Tables("CDF容量导入").AddNew
        r("CAP") = ar2(0)
        r("DF") = ar2(1)
    End If
Next
DataTables("CDF容量导入").save()


 回到顶部