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


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

主题:菜鸟问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


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


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

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


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/5/3 15:53:00 [只看该作者]

用户已被锁定

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


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

谢谢哦

 回到顶部
帅哥哟,离线,有人找我吗?
riancel
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

以下是引用riancel在2013-5-3 16:15:00的发言:

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

得不出数啊

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

我的经过测试是不会有问题的.MUHUA的.你把SID拼接学号的单引号去掉

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


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

另外我也更改了你数据库里的表的数据类型,你原本的DOMONEY是字符类型 肯定是无法统计的,会报错的. 改为高精度小说或者整数吧

 回到顶部
帅哥哟,离线,有人找我吗?
riancel
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部