Foxtable(狐表)用户栏目专家坐堂 → [求助]sql


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

主题:[求助]sql

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
[求助]sql  发帖心情 Post By:2013/12/10 10:07:00 [只看该作者]

Dim dr ,dr1,dr2,dr3 As DataRow
dr = DataTables("用户信息表").find (" name = '"& _username &"'")
Dim xx As String = dr("学校")
Dim qu As String = dr("区")
e.Form.Controls("区").text = qu
e.Form.Controls("学校").text = xx
e.Form.Controls("级别").text = dr("级别")
e.Form.Controls("辅导老师").text = dr("呢称")

dr1 = DataTables("学生信息表").find (" 区 = '"& qu &"' and 学校 =  '"& xx &"'","学号",0)
If dr1 IsNot Nothing  Then
    Dim xh0 As String = dr1("学号").SubString(0,5)
    For i As Integer = 1 To 999
        Dim s As String = Format(i,"000")
        Dim xh As String = xh0 & s
        dr2 = DataTables("学生信息表").find (" 学号 = '"& xh &"'" )
        If dr2 Is Nothing  Then
            e.Form.Controls("学号").text = xh
            If  MessageBox.Show("是否使用此注册号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)= DialogResult.Yes Then
                Return
            End If
        End If
    Next
Else
    dr3 = DataTables("花名册").find ("地区名 = '"& qu &"'")
    Dim x1 As String = dr3("编号")
    Dim ss As List (of String) = DataTables("学生信息表").GetValues("学校","区 = '"& qu &"'")
    Dim x2 As String = Format(ss.Count + 1,"000")
    For i As Integer = 1 To 999
        Dim x3 As String = Format(i,"000")
        Dim xh As String = x1 & x2 & x3
        dr2 = DataTables("学生信息表").find (" 学号 = '"& xh &"'" )
        If dr2 Is Nothing  Then
            e.Form.Controls("学号").text = xh
            If  MessageBox.Show("是否使用此注册号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)= DialogResult.Yes Then
                Return
            End If
        End If
    Next
End If

以上是自动生成注册码的代码,运行测试正常。

但是把“学生信息表”定向为外部表后,必须加载“学生信息表”后才能正常运行,但正是使用时“学生信息表”会有几万行。

现向专家求助: 用SQL语言修改代码,让他在“学生信息表”未加载的情况下可以正常运行。

谢谢!!!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 10:13:00 [只看该作者]



利用SQLCOMMAND执行以下SQL语句即可返回你想要的行了
dr1 = DataTables("学生信息表").find (" 区 = '"& qu &"' and 学校 =  '"& xx &"'","学号",0)
"select top 1 * from 学生信息表 where 区 = '"& qu &"' and 学校 =  '"& xx &"' order by 学号"

DataTables("花名册").find ("地区名 = '"& qu &"'")
"select * from {花名册} where 地区名 = '"& qu &"'"

DataTables("学生信息表").GetValues("学校","区 = '"& qu &"'")
"select Distinct(学校) from 学生信息表 where 区 = '"& qu &"'"

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/12/10 10:17:00 [只看该作者]

谢谢  我试试!!!

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/12/10 10:26:00 [只看该作者]

dr1 = DataTables("学生信息表").find (" 区 = '"& qu &"' and 学校 =  '"& xx &"'","学号",0)  
dr1 = "select top 1 * from 学生信息表 where 区 = '"& qu &"' and 学校 =  '"& xx &"' order by 学号"
这个前面是否加   dr1 =

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 10:28:00 [只看该作者]

图片点击可在新窗口打开查看 利用SQLCOMMAND执行以下SQL语句即可返回你想要的行了

我这句白写了啊.


 回到顶部