我有一个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;
}
答案 0 :(得分:0)
很难理解这个问题,但有几件事情很突出。
“WHERE Status = TRUE” 什么是“状态”?它是否在其中一个表中唯一定义?
运行“SELECT Grupo FROM tblCdDvd”时,是否返回任何行?
“结果是0行并且存在具有通知代码的注册表” 这在英语中意味着什么?