Foxtable(狐表)用户栏目专家坐堂 → 菜鸟问SQL外部数据,快速录入与统计


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

主题:菜鸟问SQL外部数据,快速录入与统计

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


加好友 发短信
等级:婴狐 帖子:42 积分:829 威望:0 精华:0 注册:2008/10/15 19:28:00
菜鸟问SQL外部数据,快速录入与统计  发帖心情 Post By:2013/5/3 15:14:00 [显示全部帖子]

想在学号列变化的时候,在收费列自动汇总出该学号所缴纳的学费之和。
文件见附件。
数据库结构。表:Xstudent

                        Sid             StudentName

                       201300001   朱世勇

                       201300002   张利

                  表:XTaskWorkMX

                       DOMoney     Sid

                       2000           201300001

                       800             201300002

                       1800           201300001

                       1000           201300002

详见附件!

 

这个是根据自带的学习文件,做出的,输入学号,自动从数据库找出姓名。

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目22.zip


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


加好友 发短信
等级:婴狐 帖子:42 积分:829 威望:0 精华:0 注册:2008/10/15 19:28:00
  发帖心情 Post By:2013/5/3 16:02:00 [显示全部帖子]

谢谢哦

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


加好友 发短信
等级:婴狐 帖子:42 积分:829 威望:0 精华:0 注册:2008/10/15 19:28:00
  发帖心情 Post By:2013/5/3 16:15:00 [显示全部帖子]

提示错误:标准表达式中数据类型不匹配。

得不出数啊

可不可以改下附件哦!老大

[此贴子已经被作者于2013-5-3 16:17:06编辑过]

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


加好友 发短信
等级:婴狐 帖子:42 积分:829 威望:0 精华:0 注册:2008/10/15 19:28:00
  发帖心情 Post By:2013/5/5 8:40:00 [显示全部帖子]

弄通了,可以查询了到了。
但是又出了另外一个问题:

单位用的SQL收费管理软件在建立人员档案时候支持从excel导入数据

有一个字段(字段名“Sid”)是一串为纯数字的字符

在excel导入模板中,操作员未将Sid这个字段设为文本,被保持了“常规”类型。

(从系统导出excel数据时就会发现这些“常规”的字符会被认为是数字)

导致在导入系统后,用收费管理软件一切正常。
但是在foxtable做外部数据源查询时会出错,查不出来相关信息,

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

能不能用字段类型的转换来解决这个问题呢?


图片点击可在新窗口打开查看此主题相关图片如下:未命名111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-5-5 8:41:14编辑过]

 回到顶部