51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4458|回复: 12
打印 上一主题 下一主题

[求助] 从Datatable中取的string 如何去除双引号

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-26 11:07:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,要执行 object.type DataTable("A","dtLocal)Sheet
表中取得值诸如 micF1, micF2 ...
运行时执行的是 object.type "micF1" ,因此不成功!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-11-26 12:48:13 | 只看该作者
    1, 先确实是否你输入的是 micF1,而 实际运行时是  "micF1"
    2, 如果确实是这样,那么 使用 CStr CInt 等转换函数把把转换成你需要的类型。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-11-26 13:09:00 | 只看该作者
    用了cstr(),运行的还是 object.type "micF1",和不用一样!
    用Cint,出错 Type mismatch!
    用replace(string,""","") 也不行

    请教用什么函数和方法去除引号,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2007-11-26 13:47:49 | 只看该作者
    你希望 输入的micF1 是什么类型?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-11-26 14:11:09 | 只看该作者
    mid()函数
    不过在type后面的micF1等等的 可以看作是已定义的变量 写在datatable里面不合适吧 里面取出来的都是字符串而已
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-11-26 14:44:36 | 只看该作者
    楼主的意我理解应该是datatable里的字符串想取出来变成常量或者变量。两种方法。

    1. 如果不保证所有的字符串都有定义,自己写个函数做这个事情吧
    比如
    Select Case DataTable("", dtLocalSheet)
    case "micF1'
      X=micF1
    case  "micF2"
      X=micF2
    ...
    Case else
      X=DataTable("", dtLocalSheet)
    End Select

    2.用eval函数
    eval("micF1")得到micF1
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-11-26 15:09:44 | 只看该作者
    object.type Eval(DataTable("A",LocalSheet))
    这样就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-11-26 15:12:31 | 只看该作者
    6楼的朋友考虑的比较全面,使用Eval之前你要先确定下你的数据都是合法的值~

    [ 本帖最后由 hsjzfling 于 2007-11-26 15:13 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-11-26 16:59:39 | 只看该作者
    eval 可行,谢谢各位答复!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-11-26 17:17:03 | 只看该作者
    能否详述下eval的作用,我看VBS手册:计算一个表达式的值并返回结果。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-11-26 17:47:10 | 只看该作者
    原帖由 sarying 于 2007-11-26 17:17 发表
    能否详述下eval的作用,我看VBS手册:计算一个表达式的值并返回结果。



    把它理解为,“通过表达式,获得它的值。”

    比如,
         object.type Eval(DataTable("A",LocalSheet))
    里面的“DataTable("A",LocalSheet)” 就是一个表达式,获得它的值。也就是对应位置的值咯。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2007-11-26 20:55:21 | 只看该作者
    gy21st  提供的两种方法都不错,多谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-11-27 11:28:46 | 只看该作者
    原帖由 joseph_wh 于 2007-11-26 17:47 发表



    把它理解为,“通过表达式,获得它的值。”

    比如,
         object.type Eval(DataTable("A",LocalSheet))
    里面的“DataTable("A",LocalSheet)” 就是一个表达式,获得它的值。也就是对应位置的值咯。


    前面一句理解没错,但是举例就不是很准确了。。。
    eval解释的是DataTable("A",LocalSheet)这个变量的值,也就是"micF1",而不是DataTable("A",LocalSheet)本身。返回的值应该是<_micF1>,而不是"micF1"

    可以这样来理解eval,eval就是解释并执行字符串型表达式,并返回执行后的值。如果表达式没有返回值,则应该使用execute。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-28 00:13 , Processed in 0.078080 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表