Foxtable(狐表)用户栏目专家坐堂 → 数据行筛选问题


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

主题:数据行筛选问题

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
数据行筛选问题  发帖心情 Post By:2024/5/30 14:57:00 [只看该作者]

假如传送到该网页两个信息,一个是cpmc,一个是openid,需要在点餐信息表内搜索,如果是否完成列是空、openid相同,但是cpmc不同(也就是说这是客人新点的菜),则增加一行。应该怎么写?

Dim dr2 As DataRow = DataTables("点餐信息").sqlFind("cpmc<>'" & cpmc & "' and openid='" & openid & "' and 是否完成=''")'菜名不同,id相同,完成为空,增加

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 15:05:00 [只看该作者]

什么数据库?SqlServer?是否完成是逻辑列?
[此贴子已经被作者于2024/5/30 15:05:13编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2024/5/30 15:06:00 [只看该作者]

sql数据库,是否完成是逻辑列。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 15:17:00 [只看该作者]

Dim dr2 As DataRow = DataTables("点餐信息").sqlFind("cpmc='" & cpmc & "' and openid='" & openid & "' and 是否完成=0")
if dr2 is nothing then
增加的代码
end if

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2024/5/30 15:41:00 [只看该作者]


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

以此图为例,如果传送过来的是openid是333,菜品名称是茄子,那么也符合了这个条件,也会执行增加一行。而我的本意是可以在现有行找到相同的openid,而且是否完成也等于空,但是菜品名称不同,这时才增加一行,我觉得是我的思路不对。我再说下我的整个思路:当传送过来openid和cpmc后,如果现有表中完成为空的行中,未找到openid,则增加一行。如果有openid且完成为空,但cpmc和现有的不同,则新增,如果cpmc相同则修改这行。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 15:49:00 [只看该作者]

需要查2次,先查openid,再查菜

其实就和订单用法一样,建议使用父子表的模式,订单表+订单明细。也就是点餐信息+菜品明细,通过编号关联,先通过openid查询点餐的订单编号,再通过订单编号查询菜品明细。

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/5/30 15:49:00 [只看该作者]

思路:当传送过来openid和cpmc后,如果现有表中完成为空的行中,未找到openid,则增加一行
                                                           如果有openid且完成为空,但cpmc和现有的不同,则新增
                                                           如果cpmc相同则修改这行。

前两个条件是不是没描述清楚?????

 回到顶部