以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL怎样为字段增加前缀再查询  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=32800)

--  作者:riancel
--  发布时间:2013/5/8 15:53:00
--  SQL怎样为字段增加前缀再查询
If e.DataCol.Name = "学号" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {Xstudent} Where [Sid]= \'" & dr("学号") & " \'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
        dr("姓名") = dt.DataRows(0)("StudentName")
    Else
        dr("姓名") = Nothing
    End If
End If

在做这个查询中我想做到,在数库中的Sid这个字段加上前缀 S = 本表“学号”的查询。
如  数据库中为 201302100  
S201302100 = 学号 的查询
应该怎样改呢?

--  作者:Bin
--  发布时间:2013/5/8 15:56:00
--  
哪有这么来的.只有把学号去掉S.  
cmd.CommandText = "SELECT * From {Xstudent} Where [Sid]= \'" & dr("学号").Remove(0,1) & " \'"

--  作者:qhczy
--  发布时间:2013/5/8 16:24:00
--  
cmd.CommandText = "SELECT * ,  S+学号 as 学号1 From {Xstudent} Where [Sid]= \'" & dr("学号") & " \'"

--  作者:riancel
--  发布时间:2013/5/8 16:24:00
--  
但是气人的是,数据库头的Sid字段是由excel导入的,是纯数字的文本,当excel设为常规导入时,就无法用foxtable查询了
当excel设为文本再导入时,才可以用foxtable查询了。
所以我才想直接在sid字段加上一个前缀再和foxtable中的学号字段(已加上S前缀)做查询。
[此贴子已经被作者于2013-5-8 16:29:57编辑过]

--  作者:qhczy
--  发布时间:2013/5/8 16:29:00
--  
cmd.CommandText = "SELECT * , left(Sid,1)+学号 as 学号1 From {Xstudent} Where [Sid]= \'" & dr("学号") & " \'"