以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]设置商品ID (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=153068) |
-- 作者:江南小镇 -- 发布时间:2020/7/30 11:28:00 -- [求助]设置商品ID 老师,列字段出现%符号就报错。 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2017.4.22.1 错误所在事件:表,表A, DataColChanged 详细错误信息: 调用的目标发生了异常。 Like 运算符中出错: 字符串模式“XJ-123%-wsd-%”无效。 Select e.DataCol.Name Case "商品名称","型号","规格" If e.DataRow.IsNull("商品名称") OrElse e.DataRow.Isnull("型号") OrElse e.DataRow.Isnull("规格") Then e.DataRow("商品ID") = Nothing Else Dim lb As String = getpy(e.DataRow("商品名称"), True).toupper & "-" & e.DataRow("型号") & "-" & e.DataRow("规格") & "-" Dim max As String = e.DataTable.Compute("Max(商品ID)","商品id like \'" & lb & "%\' And _Identify<> \'" & e.DataRow("_Identify") & "\'") \'取得该类别的最大编号 Dim idx = 1 If max > "" Then idx = cint(max.SubString(lb.length))+1 End If e.DataRow("商品ID") = lb & format(idx, "00000") End If End Select
|
-- 作者:有点蓝 -- 发布时间:2020/7/30 12:40:00 -- Dim max As String = e.DataTable.Compute("Max(商品ID)","商品id like \'" & lb.replace("%","[%]") & "%\' And _Identify<> \'" & e.DataRow("_Identify") & "\'") |
-- 作者:江南小镇 -- 发布时间:2020/7/30 13:44:00 -- 老师,有这个符号*也报错。 |
-- 作者:有点蓝 -- 发布时间:2020/7/30 14:07:00 -- 同样的方法处理 |
-- 作者:江南小镇 -- 发布时间:2020/7/30 14:22:00 -- 老师,代码不知怎样连接。 Dim max As String = e.DataTable.Compute("Max(商品ID)","商品id like \'" & lb.replace("%","[%]") & "%\' & lb.replace("*","[*]") & "*\' And _Identify<> \'" & e.DataRow("_Identify") & "\'") |
-- 作者:有点蓝 -- 发布时间:2020/7/30 14:35:00 -- lb.replace("%","[%]") .replace("*","[*]") |
-- 作者:江南小镇 -- 发布时间:2020/8/7 7:25:00 -- 老师好,下面代码标出的米字是什么意思?。 |
-- 作者:有点蓝 -- 发布时间:2020/8/7 8:36:00 -- sql里的*指表格的所有列,{订单明细}.*就是订单明细的所有列 |
-- 作者:江南小镇 -- 发布时间:2020/8/8 5:25:00 -- 老师,下面的运行错误。看不懂。 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2017.4.22.1 错误所在事件: 详细错误信息: 该特定字段 \'产品名称\' 可以参考 SQL 语句中 FROM 子句列表中的多个表。 Dim cmd As New SQLCommand cmd.C cmd.CommandText = "SEL ECT {订单明细}.*, 产品名称 FROM {订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID ORDER BY 订单ID" \' Dim dst1 As Table = Tables("查询_Table1") dst1.DataSource = cmd.ExecuteReader()
|
-- 作者:有点蓝 -- 发布时间:2020/8/8 9:30:00 -- 2个表都有产品名称,必须指定是哪个表的 cmd.CommandText = "SEL ECT {订单明细}.*, {产品}.产品名称 as 产品名称2 FROM {订单明细} 如果{订单明细}已经有产品名称,就没有必要在加一个了
|