选择加入返回0

时间:2015-08-04 15:42:07

标签: c# ms-access

我有一个DataTable在C#中的MS Access数据库上执行此SQL查询:

DataTable dtCdDvd = cls.Fun_RetornaDataTable("SELECT tblCdDvd.Cod, tblCdDvd.Nome, tblCdDvd.Tamanho, tblTipo.Tipo, tblCdDvd.Grupo FROM [tblCdDvd] INNER JOIN [tblTipo] ON tblCdDvd.Tipo=tblTipo.Cod WHERE Status = TRUE");

如果我使用

DataRow[] result = dtCdDvd.Select("[Grupo]=0");

结果是0行,并且存在具有通知代码的注册表。

更有趣的是我的SQL查询是否运行

DataTable dtCdDvd = cls.Fun_RetornaDataTable("SELECT Grupo FROM tblCdDvd");

没有连接表我的结果与0不同。

我的返回数据表函数

public DataTable Fun_RetornaDataTable(string query)
{
            DataTable dt = null;

            using (var dbcon = new OleDbConnection(Fun_ConnString()))
            {
                dbcon.Open();

                if (dbcon.State == ConnectionState.Open)
                {
                    var command = new OleDbCommand(query, dbcon);
                    dt = new DataTable();
                    dt.Load(command.ExecuteReader());
                }
            }

            return dt;
}

1 个答案:

答案 0 :(得分:0)

很难理解这个问题,但有几件事情很突出。

“WHERE Status = TRUE” 什么是“状态”?它是否在其中一个表中唯一定义?

运行“SELECT Grupo FROM tblCdDvd”时,是否返回任何行?

“结果是0行并且存在具有通知代码的注册表” 这在英语中意味着什么?