Mysql SQL通过myODB不返回行,但在SQL中有行

Mysql SQL通过myODB不返回行,但在SQL中有行,mysql,odbc,Mysql,Odbc,我有一个名为“tbl_einheit”的SQL表。phpmyadmin在表中显示了超过14000行。通过网页访问时,表格为空“eof” 我最小化了SQL语句,删除了所有WHERE、ORDER-BY元素,因此 SELECT * FROM tbl_einheit 这是一份声明。但它仍然返回一个空的结果集。我也试过了 SELECT E . * FROM tbl_einheit E, ( SELECT @a := NULL ) AS init LIMIT 0,30 但也是空的 有什么建议吗 在代码中

我有一个名为“tbl_einheit”的SQL表。phpmyadmin在表中显示了超过14000行。通过网页访问时,表格为空“eof”

我最小化了SQL语句,删除了所有WHERE、ORDER-BY元素,因此

SELECT * FROM tbl_einheit
这是一份声明。但它仍然返回一个空的结果集。我也试过了

SELECT E . * FROM tbl_einheit E, ( SELECT @a := NULL ) AS init LIMIT 0,30
但也是空的

有什么建议吗

  • 在代码中添加一个跟踪,以确保您正在执行您认为正确的代码
  • 仔细检查您的连接字符串

  • 原因是在mysql dtaabse中有一些数据类型ASSp中的ADODB连接器无法识别,所以asp认为它是EOF

    使用MySQL中的强制转换将数据类型转换为asp可以理解的类型,例如:

    SELECT CAST(SUM(Entry_Data_1) as UNSIGNED) as score FROM contests_entries 
    

    两者都做了。重命名了该表,该网页上的sql语句返回了一个错误,即找不到该表。因此,我转到正确的数据库,并执行正确的代码。请尝试将您的查询从tbl_einheit更改为
    select count(*)
    code已发布在上面!更改为count(*)返回了一个结果!我到底做错了什么?count是正确的行数。与PHPMYADMENTRY中所示相同,将
    如果不是rs.eof
    更改为
    如果不是rs.bof而不是rs.eof
    简化后的代码,这将不起作用
    strConnTT2=“DSN=conntob1”Set Conn=Server.CreateObject(“ADODB.Connection”)Conn.Open(strConnTT2)strSQL=“SELECT*FROM tbl_einheit”设置rs=Conn.Execute(strSQL)response.write strSQL&“
    ”如果不是rs.eof,则为response.write“not eof”else response.write“eof”end如果
    是否可以通过同一数据库连接访问其他表?是的,可以访问所有其他表。正如发布到答案中一样,select count(*)返回正确的行数,但select*返回eof。感谢您的输入。但这行不通。我将日期从MS Access迁移到mySQL。使用MS Access,脚本可以正常工作。由于count(*)返回结果,但*不返回,请修改sql语句,一次只选择一个列名,并测试结果是否正确。i、 e.选择id(返回结果),选择名称(不返回任何内容)。让我们知道结果,以及未能返回结果的列的数据类型。小数必须转换为字符。不知道为什么,但这解决了问题!谢谢你的接受。这是因为mysql的odbc驱动程序无法识别该数据类型,并且不会返回任何结果。通过将其转换为mysql引擎中的另一种数据类型,odbc可以识别它并将其传递给脚本。