【问题标题】:SQL C# interactions not workingSQL C# 交互不起作用
【发布时间】:2012-07-10 10:19:22
【问题描述】:

我正在尝试使用信息查询来 ping 我的 SQL 服务器,然后将该信息传递到 DataGridView。虽然它不会显示在我的代码中,但我会先打开我的 DBConnection,然后再将其关闭。我的代码如下所示:

            using (SqlDataAdapter newDA = new SqlDataAdapter(query, DBConnection))
        {
            DataTable Table = new DataTable();
            newDA.Fill(Table);

            dgvOutput.DataSource = Table;
        }

我知道 query 和 DBConnection 都可以正常工作,因为它们在程序的类似部分中工作,但由于某种原因,newDA 似乎没有从这里的数据库中获取任何数据。当我将查询的值直接复制到 Microsoft SQL Server Management Studio 并运行它时,它会很好地获取数据。有什么建议吗?

【问题讨论】:

  • 可以显示查询文本吗?
  • “我确实先打开我的 DBConnection,然后再关闭它。” SqlTableAdapters 处理连接的关闭和打开...stackoverflow.com/a/956469/1449777
  • 您发布的代码没有问题。问题出在您显示数据网格视图的方式中,或者在您的查询中。我建议你在 newDA.Fill(Table); 之后设置一个断点。并检查表中是否填充了数据。

标签: c# sql sql-server-2008 datatable sqldataadapter


【解决方案1】:
string connectionString = YOUR_NAME_SPACE.Properties.Settings.Default.CONNECTION_STRING;
            SqlConnection con = new SqlConnection(connectionString);
            DataTable DT = new DataTable();
            con.Open();

            SqlDataAdapter DA = new SqlDataAdapter(YOUR_QUERYQUERY, connectionString);
            DA.Fill(DT);
            con.Close();
            return DT;

现在在放置此代码之后。在您的项目中几乎没有变化。 我希望你知道要改变什么。

您将拥有数据表。这包含所有内容。您可以轻松地将内容放到数据网格视图中。这很容易。

【讨论】:

    【解决方案2】:

    好吧,在盯着我的屏幕又看了几个小时之后,我意识到我错过了什么:

    dgvOutput.AutoGenerateColumns = true;
    

    一旦我进入这个,一切都很好。

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多