我在重新安装网站服务器后才开始出现问题。

过去我可以这样做:

代码:

<% 
set msgSet = conn.execute("select * from base_scroller where scroller_num = 1" 
%>

检查它是否不为空或其他内容

代码:

<% if msgSet("scroller_name") <> "" then %>

如果是的话我可以用它做任何事情(比如展示它的价值)

代码:

<%= msgSet("scroller_name") %>
<% end if %>

现在我不能这样做,“if”测试不适用于“msgSet(“scroller_name”)”,我必须先在另一个变量中重新定义它

代码:

<% scrollername = msgSet("scroller_name") %>

然后,只有那时我才能对其进行测试......

代码:

<% if scrollername <> "" then %>

并展示它。

<%= scrollername %>
<% end if %>

我只想找回对 mysql 记录集变量(如 b4....)进行操作的选项。

有人遇到过这个问题吗?发生了什么变化,是错误的 mysql 版本还是什么?

感谢你们。

没有正确的解决方案

其他提示

有两件事情你应该做的,以确保你有一个字段中的值:

  1. 确保记录不是空的。
  2. 确保在当前的字段没有空值。
  3. 我不走的已经影响你的代码驱动程序的任何变化,但我相信不同的是,您的字符串实际上返回一个空字符串(这等于“”)和你的记录传回正确的NULL值(这是不等于 “”)

的更多细节:

我的ODBC是:MySQL的5.1驾驶员

我的MySQL版本:MySQL服务器5.0

我引黄字符串是:

我试图除去STMT = SET CHARACTER SET希伯来语; OPTION = 3;部分 - 无变化...

使用任何变量从一分贝的问题,它可以是任何类型的变量(文本,日期,INT)的...

甚至

天(msgSet( “scroller_date”))现在无法正常工作......

和TH有趣,这是......这一切用来工作就好了.. B4安装

您看到任何不寻常的?也许一个不同的MySQL / ODBC版本?

好的...

  1. 新的 odbc 是 5.1 :位于 mysql.com 服务器上(链接: http://dev.mysql.com/downloads/connector/odbc/5.1.html)

  2. 是的。我已经在我的网络服务器上再次重新安装了操作系统(windows server 2003)并在其上安装了mysql server 5.0。

  3. 我没有收到错误,只是当我使用我解释的方法时不返回任何数据,并且我必须像我解释的那样使用额外的变量。

您还需要更多详细信息吗?

这可能是一个更好的方式进行测试,以查看是否记录是在可替代的方式为空。

我一般使用:

On Error Goto 0

set msgSet = conn.execute("select * from base_scroller where scroller_num = 1" 

If msgSet.EOF = True And msgSet.BOF = True Then
  Response.Write "Recordset cursor was at the beginning and end of file - empty set."
  Response.End
End If

这可能有助于在某种程度上调试它。

哦,还有一些可能是非常重要的。我不记得是什么原因引起的,但有时我发现,通过记录引用MySQL的字段时,它总是低的情况下,不管是什么领域是数据库中定义或查询。

如果这不会导致你的脚本失败,也许尝试找出什么已经被记录返回。

Dim i

For Each i In msgSet.Fields
  Response.Write i & "=[" & msgSet.Fields(i) & "]<br />"
Next

好运

之前从来没有见过这样的问题,我也不是知道为什么(在错误的详细信息将是有益的) - 但是,你可能要当您使用它来投的项目相对速战速决。像:

   <%= cStr(msgSet("scroller_name")) %>

请参阅 http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#换算获得更多信息。

有关错误你得到更多信息会帮助你得到一个更好的答案。没有MyODBC的5.1,所以您使用该MyODBC驱动的版本?通过 “我的ODBC是:MySQL 5.1中的驱动程序。” 你的意思是为MySQL 5.1的驱动程序 - 这应该是MyODBC的3.51版

此外,通过“我重新安装我的网站的服务器后,”你的意思是你一个干净的安装服务器操作系统?还是你只是重新安装MySQL?或者是其他东西? MySQL 5.1中刚出来的12月8日 - ?是升级的这部分

最后,请阅读一些评论对你的问题,你的一些答复的。所有的事情都是平等的,如果有一些需要澄清,编辑了问题补充细节。不要写响应。这不是一个论坛,你的反应会失去它的上下文中的微小东西了,投它上面。其也容易采取在整个问题,如果其在所有相的问题和各种增编冒充答复之间滚动。一个点

我得到了同样的问题... 刚刚从MySQL 4 ODBC 3.X(旧版本...)迁移的ASP网站MySQL 5.1中和ODBC 5.1。 如果我尝试这个简单的代码:

集合RS = conn.execute( “选择......”) 虽然不RS.EOF   的Response.Write “T1” 和RS( “文本”)和 “结果T2:” &RS( “文本”)和 “点击”   rs.movenext WEND

作为输出我得到以下内容: T1:你好 T2: T1:你怎么样 T2: 等...

我访问它没有值的字段的第二个时间,唯一的办法是使用一个临时变量来存储所述第一时间的数据...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top