【问题标题】:No results from SQL Server 2008 R2 ExpressSQL Server 2008 R2 Express 没有结果
【发布时间】:2011-06-25 18:49:39
【问题描述】:

我有以下情况:

string SelectDeb = @"select debid,naam,adres,huisnr,plaats
                        from debiteuren";

using (SqlConnection con = new SqlConnection(connection))
{
    using (SqlDataAdapter sqlAdapt = new SqlDataAdapter(SelectDeb, con))                 
    {                           
        sqlAdapt.Fill(ds, TableName);
    }
} 

上面的代码运行良好,没有问题,它给了我需要的行。

这只是整个代码的一部分,但为了保持主题,我在这里只写了这些行。 有什么问题?

问题是当我把sql改成

string SelectDeb = @"select debid,naam,adres,huisnr,plaats,actief 
                     from debiteuren
                     where actief = @actief";

sqlAdapt.SelectCommand.Parameters.AddWithValue("@actief", true)

或在

string SelectDeb = @"select debid,naam,adres,huisnr,plaats,actief 
                     from debiteuren
                     where actief = 'True'";

我一无所获!!!

如果我使用参数并不重要,如果我在没有参数的情况下填写 where 子句但在任何 where 子句中填写数据,我不会得到任何行

如果我直接在数据库中使用相同的 sql,我会得到预期的行。

那么,出了什么问题?

我使用带有 SP1 和 SQL Server 2008 R2 Express Edition 的 VS2010 专业版

我在VS2005中用SQL Server 2005 Express Edition写了一个类似的应用程序,没有问题,可以使用参数。


编辑:

谢谢大家的回答。

TableName 是一个字符串,表示填充后数据集中的结果集。 它作为方法的参数给出(未显示) 唯一的问题是在使用 where 子句之后我根本没有得到任何行。 我使用哪种过滤器并不重要。 我也尝试过使用字符串字段(数据库中的 NVarChar),然后在结果集中也没有行。 因此,一切正常,但是在一行代码之后,只有“where 子句”并且它不起作用。 我有很多经验(在数据库和 Delphi 中,但对 C# 很陌生),从未见过这样的东西。

'actief' 列的类型是布尔型(在数据库中是一个位)

在数据库中运行良好的sql是

选择 debid,naam,adres,huisnr,huisnr_toev,postbus,postcode,postc_bus,tav,plaats,tel,actief 来自债务人 其中 actief = 'True'

所以 where actief = 'True' 这行在 VS2010 的代码中不起作用 也 其中 actief = 1 不起作用 而且 naam = 'Test' 也不起作用(数据库中确实存在测试)

【问题讨论】:

  • 您已经写道,如果您使用 same sql directly in database,您将获得预期的行。什么查询会返回预期的行?
  • 什么是列激活的类型?如果是 char 或 varchar 类型,则 actief = 'True' 有意义,但使用布尔参数没有意义。如果这是一个位列,那么 where 子句应该是 actief = 1。

标签: c# visual-studio-2010


【解决方案1】:
 sqlAdapt.Fill(ds, TableName);

什么是表名?看来您没有使用命令向我填充数据集。

试试这样的:

DataSet dataset;

sqlAdapt.Fill(dataset);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多