以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ADO-SQL执行报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187757)

--  作者:lin98
--  发布时间:2023/8/9 10:14:00
--  ADO-SQL执行报错
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

--  作者:有点蓝
--  发布时间:2023/8/9 10:53:00
--  
去掉大括号,这个是Foxtable数据源才需要使用的
--  作者:lin98
--  发布时间: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

--  作者:有点蓝
--  发布时间:2023/8/9 11:49:00
--  
中括号也去掉,不要把SqlServer的东西套到其它数据库
--  作者:lin98
--  发布时间: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() \'

如何解决?



--  作者:有点蓝
--  发布时间:2023/8/9 15:54:00
--  

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