【问题标题】:Counting using the TableAdapter使用 TableAdapter 进行计数
【发布时间】:2018-05-18 08:28:42
【问题描述】:

我正在做一个涉及 C# 和一些基本数据库操作的学校项目。我需要的操作之一是记录计数,经过长时间的搜索,我无法弄清楚我做错了什么。

我尝试过 TabelAdapter.Rows.Count 但由于某种原因不起作用。

包括我的代码的一部分:

private void AddButton_Click(object sender, EventArgs e)
{
    int RecordCount = 0;
    try
    {
        vriendenkringDataSetTableAdapters.FriendsTableTableAdapter FTTA = new vriendenkringDataSetTableAdapters.FriendsTableTableAdapter();
        RecordCount = FTTA.Rows.Count();
        FTTA.Insert(RecordCount, NicknameTextBox.Text, BirthdayTimePicker.Value, EmailTextbox.Text, 100, Convert.ToBoolean(1));
        //MessageBox.Show(Convert.ToString(RecordCount));
        MessageBox.Show("Friend added succefully");
    }
    catch
    {
        MessageBox.Show("Something went wrong");
        MessageBox.Show(Convert.ToString(RecordCount));
    }
}

希望大家能帮帮我!

问候, 瑞克

【问题讨论】:

  • 我已经很久没有使用 TableAdapters 了。这些是 Visual Studio 中的可视化表吗?也许你应该搬到 Linq?您能否从FriendsTableTableAdapter 中展示更多内容,这看起来就像一个空适配器,不会持久存在或从实际表/db 加载
  • TableAdapter 旨在将数据加载到 DataTables 中,而不是计算它们。数据表在哪里?您的代码正在初始化一个新适配器,从不加载或插入任何内容,但尝试获取行数
  • 你读过 Rick 的文档吗? msdn.microsoft.com/en-us/library/ms171919.aspx
  • 首先,感谢您的回复。 (对不起,我最近几个小时在工作)。此外,是的,我已经阅读了文档,但是由于我对 C# 的了解很少,所以对我来说并不是很清楚。但是我必须在大约 2 小时内把它交上来……我自己的错是开始得太晚了。至少感谢你试图帮助我,但我猜我有点迷失了

标签: c# sql database count tableadapter


【解决方案1】:

你在正确的轨道上,你只是错过了一部分。

当您创建一个表适配器(在设计模式下)时,它实际上是在创建两个东西 - 适配器和“数据表”。在您的原始代码中,您创建了“适配器”,我们可以将其视为“与数据库的连接”。您需要创建一个数据表,以便您可以将数据存储在某处,默认情况下,您应该在您的智能感知(Visual Studio 中的代码预测助手)中看到它——其中没有“适配器”字样。

创建两个对象后,您将使用表格适配器的“填充”方法。使用您的代码,下面是一个示例:

try   
{
   vriendenkringDataSetTableAdapters.FriendsTableTableAdapter FTTA = new vriendenkringDataSetTableAdapters.FriendsTableTableAdapter();

   // This is the new "Data Table" we're creating. 
   vriendenkringData.FriendsTableDataTable FTDT = new  vriendenkringData.FriendsTableDataTable(); 

   // We're now telling our Adapter to connect, get the data, and put it in our Data Table (Named FTDT above). 

   FTTA.Fill(FTDT); 

   MessageBox.Show(FTDT.Count()); //Note - Message box know's to convert the number to a string without you calling "Count.ToString()" :) 
   MessageBox.Show("Friend added succefully");
}
catch
{
    MessageBox.Show("Something went wrong");
    // MessageBox.Show(Convert.ToString(RecordCount)); 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多