【问题标题】:Classic ASP - How to return value of specific line in a MySQL Table经典 ASP - 如何返回 MySQL 表中特定行的值
【发布时间】:2018-03-19 08:32:05
【问题描述】:

我有一个名为“LANGUAGE”的表格 - 包含西班牙语和英语单词。

喜欢:

ID - SPA - ENG
1 - Hoy - Hello
2 - Nombre - Name
3 - Jugar - Play

我知道西班牙语单词:

SQL= "SELECT SPA FROM LANGUAGES" 
SET LANGDB = conn.Execute(SQL)

我想识别 ID 2 字(名词)以在屏幕上打印

有可能吗?或者我需要为每个单词创建一个数据库?

喜欢:

SQL= "SELECT SPA FROM LANGUAGES WHERE ID = 2" 
SET LANGDB = conn.Execute(SQL)

谢谢!

【问题讨论】:

  • 我不明白。你的 SQL 有什么问题?
  • 嗨@Tomalak - SQL 很好。我怀疑我们是否有更好的解决方案来获取表格的每一行,因为如果我在页面中有 200 个单词要获取,我将需要创建 200 个 Set DB。我需要类似的东西: ID 1 的 LANGDB("ID 1") ... ID 2 的 LANGDB("ID 2")

标签: mysql sql asp-classic


【解决方案1】:

假设您正在尝试检索给定英语单词的西班牙语单词:

SELECT SPA FROM LANGUAGES WHERE ENG = 'Name"

这将返回“Nobre”

如果您想为所有行返回两个单词:

SELECT SPA, ENG FROM LANGUAGES

【讨论】:

  • 嗨@Troy-Turley!谢谢你的时间!是的,但我的问题是 - 如果我必须知道 200 个单词,我需要创建 200 个选择吗?我们没有更好的解决方案来让每个单词只有一个选择?
  • 我更新了答案。这将返回一个记录集中的所有单词。这就是你要找的东西吗?
【解决方案2】:

因此您担心多次查询数据库以获取微小的单词会导致速度变慢。是的,这可能是个问题。向数据库发送许多查询肯定会引入开销。

你可以做什么:

  • 在 IIS 中创建一个 ASP application(如果您还没有),
  • 写一个global.asa文件,
  • 添加一个Application_OnStart Sub(它只运行一次,当您的 ASP 应用程序启动时)
  • 在内部,将单个 SQL 查询发送到返回所有语言变量的数据库
  • 编写一个While Not rs.EOF 循环(如this),将它们全部添加为应用程序级变量
  • 在循环内使用简洁的命名方案,如Application("lang_SPA_" & rs!ID) = rs!SPA 等。

现在您的所有语言变量都可以在您的应用程序中立即使用,因为您可以在任何地方访问Application 对象。例如,Application("lang_SPA_2") 将包含 "Nombre"

请注意,Application_OnStart 只运行一次,因此当您对数据库进行更改时,您需要在 IIS 中重新启动应用程序(这是通过停止和启动您分配给应用程序的应用程序池来完成的)。

【讨论】:

  • 嗨@tomalak!,首先,感谢分享您的时间!是的,你明白我的问题。我很担心这个。我会在这里尝试并尽快反馈给您。 tks aloooot!
【解决方案3】:

如何创建config.asp 文件。首先将数据库中的语言选择值保存为 0 或 1。然后在 config.asp 文件中写入条件,如 -

if lang = 0 then 'eng
  Session("ID_1") = "Hello"
  Session("ID_2") = "Name"
elseif lang = 1 then 'spanish
  Session("ID_1") = "Hoy"
  Session("ID_2") = "Nombre"
end if

现在,您可以使用这些会话了。

【讨论】:

  • 嗨@Kiran,感谢您抽出时间帮助我!嗯...好主意,我不是专家 - 但我有 200 个字(有一些长文本)。 Session可以存储这一切吗?或者我有创建会话的限制?
  • 是的,您可以使用长文本进行任意数量的会话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多