Foxtable(狐表)用户栏目专家坐堂 → [求助]关于SQL语句与后台的困惑


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

主题:[求助]关于SQL语句与后台的困惑

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]关于SQL语句与后台的困惑  发帖心情 Post By:2015/6/11 11:00:00 [只看该作者]

用SQL语句,如SQLFind:dr = DataTables("Help").SQLFind("模块名 = '" & _模块名 & "'") 
我看帮助文件,SQL语句可以从后台处理数据,我现在对这个后台有点困惑。
当我把HELP表加载成空表时,上面的语句执行正常,如果我把HELP表连表结构也不加载,语句就因为找不到HELP表而执行错误,我想问,这个所谓的后台指什么,如果是指SQL数据库,我加不加载表结构有何关系,如果一定要加载表结构,哪么这个所谓的后台应该是 前台的表结构加后台的数据库,有点凌乱了,请老师帮我理下思路。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 11:02:00 [只看该作者]

 如果不加载表结构,你就不能用sqlFind函数,必须用sql语句

 

 http://www.foxtable.com/help/topics/0696.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/6/11 11:04:00 [只看该作者]

也就是说 这些SQL函数是基于加载表结构的前提下使用的。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 11:06:00 [只看该作者]

 是的,不过我觉得更应该提供单独的sqlFind等函数,可以指定表名。

 

 目前只能用sql语句代替。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/6/11 11:39:00 [只看该作者]

发现SQL函数太慢了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 11:44:00 [只看该作者]

以下是引用blackzhu在2015/6/11 11:39:00的发言:
发现SQL函数太慢了

 

不会慢。但你不要重复使用,重复使用肯定会慢。


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/6/11 12:28:00 [只看该作者]

试了半天也没改成SQL语句,SQL的基础实在太差,请老师改下:
Dim dr As DataRow
dr = DataTables("Help").SQLFind("模块名 = '" & _模块名 & "'") 
e.Form.Controls("TextBox_帮助信息").value = dr("帮助信息")

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 14:27:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.ConnectionName = "外部数据源名"
cmd.CommandText ="Select * F rom {Help} Where 模块名 = '" & _模块名 & "'"
Dim dt As DataTable = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
    e.Form.Controls("TextBox_帮助信息").value = dt.DataRows(0)("帮助信息")
End If

[此贴子已经被作者于2015/6/11 14:27:23编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/6/11 14:39:00 [只看该作者]

你可以加载结构保存在全局变量中,建议看一些这一节内容:

http://www.foxtable.com/help/topics/2916.htm

 

留意一下后面介绍的:另一种执行方式

[此贴子已经被作者于2015/6/11 14:39:54编辑过]

 回到顶部