以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  类型转换一事  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21687)

--  作者:zjs9113
--  发布时间:2012/7/21 12:08:00
--  类型转换一事

要查的内容在文本框中输入

tbl.Filter = "[姓名] Like "  & txt   \'\'Or [学号] Like  "& txt

我在用此代吗时,出现以下问题:经过多次测试如下

如果学号为数值型,会出错?

如果学号为字符型,正常?

便学号为数值是别有用途,能否将数据型转为字符,如何转换?

 


--  作者:hhbb
--  发布时间:2012/7/21 12:41:00
--  

CONVERT

将表达式转换为指定数据类型。

语法

Convert(expression, type)

参数

expression — 要转换的表达式。
type — 值将转换成的数据类型,包括有:

System.String:字符型
System.DateTime:日期时间型
System.Boolean:逻辑型
System.Byte:微整数
System.Int16:短整数
System.Int32:整数
System.Int64:长整数
System.Single:单精度小数
System.Double:双精度小数
System.Decimal:高精度小数。

所有转换都是有效的,只有下列情况例外:Boolean 只能与 Byte、SInt16、Int32、Int64、String 和它本身相互转换;DateTime 只能与 String 和它本身相互转换。

例如:

Convert([金额], \'System.Int32\')

表示将金额数据转换为整数。



tbl.Filter = "[姓名] Like "  & txt   \'\'Or Convert([学号] ,\'System.String\') Like  "& txt



--  作者:zjs9113
--  发布时间:2012/7/21 15:31:00
--  

以下代码请修改一下,运行出错

 

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("学生中考基本信息_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'*" & txt & "*\'"

  \'以下是根据以下两字段输入任意内容都可查询出来
      tbl.Filter =Convert([报名号] ,\'System.String\')  Like & txt  & [姓名] Like " & txt 

end if


--  作者:hhbb
--  发布时间:2012/7/21 15:40:00
--  
tbl.Filter = "Convert([报名号] ,\'System.String\')  Like " & txt  & " Or [姓名] Like " & txt 
[此贴子已经被作者于2012-7-21 16:29:11编辑过]