以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于SQL语句与后台的困惑  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69808)

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

--  作者:大红袍
--  发布时间:2015/6/11 11:02:00
--  

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

 

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

 


--  作者:huangfanzi
--  发布时间:2015/6/11 11:04:00
--  
也就是说 这些SQL函数是基于加载表结构的前提下使用的。
--  作者:大红袍
--  发布时间:2015/6/11 11:06:00
--  

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

 

 目前只能用sql语句代替。


--  作者:blackzhu
--  发布时间:2015/6/11 11:39:00
--  
发现SQL函数太慢了
--  作者:大红袍
--  发布时间:2015/6/11 11:44:00
--  
以下是引用blackzhu在2015/6/11 11:39:00的发言:
发现SQL函数太慢了

 

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


--  作者:huangfanzi
--  发布时间:2015/6/11 12:28:00
--  
试了半天也没改成SQL语句,SQL的基础实在太差,请老师改下:
Dim dr As DataRow
dr = DataTables("Help").SQLFind("模块名 = \'" & _模块名 & "\'") 
e.Form.Controls("TextBox_帮助信息").value = dr("帮助信息")

--  作者:大红袍
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间:2015/6/11 14:39:00
--  

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

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

 

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

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