Foxtable(狐表)用户栏目专家坐堂 → ADO-SQL执行报错


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

主题:ADO-SQL执行报错

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
ADO-SQL执行报错  发帖心情 Post By:2023/8/9 10:14:00 [只看该作者]

MYSQL数据源

需求:将“明细表:料号、品名、单位、数量、金额、采购单号”与“主表:采购单号、供方、日期”,合并为一张表:料号、品名、单位、数量、金额、采购单号、供方、日期

Dim db = HySql.DataBaseFactory.CreateDatabase("CG") 
Dim Sql2 = "selec--t * from  cgzb a  Inner Join  cgmx b On {cgzb}.[采购单号] = {cgmx}.[采购单号]) ;"
Dim dt2 As system.data.DataTable = db.ExecuteDataSet(Sql2).Tables(0)
Dim t2 As Table = e.Form.Controls("Table1").Table

上面执行后,报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQ--L server version for the right syntax to use near '}.[采购单号] = {cgmx}.[采购单号])' at line 1

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/9 10:53:00 [只看该作者]

去掉大括号,这个是Foxtable数据源才需要使用的

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/9 11:37:00 [只看该作者]

Dim Sql2 = "selec--t * from  cgzb a  Inner Join  cgmx b On cgzb.[采购单号] = cgmx.[采购单号] ;"
老师,还是报错
You have an error in your SQ--L syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[采购单号] = cgmx.[采购单号]' at line 1

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/9 11:49:00 [只看该作者]

中括号也去掉,不要把SqlServer的东西套到其它数据库

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/9 15:40:00 [只看该作者]

合并成是临时表,"Table1"、窗口_"Table1"后,下面代码执行第一次,正常统计,再执行时,报错,找不到供方,

Dim b As New CrossTableBuilder("统计表2", DataTables("采购汇总窗口_Table1"))
b.HGroups.AddDef("供方") '
b.VGroups.AddDef("采购日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("采购日期", "{0}月") '
b.Totals.AddDef("数量","数量") '
b.Totals.AddDef("金额","金额") '
b.VerticalTotal= True '
b.HorizontalTotal = True '

Tables("采购汇总窗口_Table2").DataSource = b.BuildDataSource() '

合并成是临时表,"Table1"、窗口_"Table1"后,下面代码执行第一次,正常统计,再执行时,报错,找不到供方,
Dim b As New CrossTableBuilder("统计表2", DataTables("采购汇总窗口_Table1"))
b.HGroups.AddDef("品名") '
b.VGroups.AddDef("采购日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("采购日期", "{0}月") '
b.Totals.AddDef("数量","数量") '
b.Totals.AddDef("金额","金额") '
b.VerticalTotal= True '
b.HorizontalTotal = True '

Tables("采购汇总窗口_Table2").DataSource = b.BuildDataSource() '

如何解决?



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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/9 15:54:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部