Подсчет с помощью TableAdapter - PullRequest
0 голосов
/ 18 мая 2018

Я занимаюсь школьным проектом с использованием 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));
    }
}

Я надеюсьвы, ребята, можете помочь мне!

С уважением, Рик

1 Ответ

0 голосов
/ 28 января 2019

Вы на правильном пути, вам просто не хватает одной части.

Когда вы создаете настольный адаптер (в режиме разработки), он фактически создает две вещи - адаптер и «таблицу данных».В исходном коде вы создали «Адаптер», который мы можем считать «Соединением с базой данных».Вам нужно создать таблицу данных, чтобы вы могли хранить данные где-нибудь, по умолчанию вы должны увидеть это в своем intellisense (помощник по предсказанию кода в visual studio) - без слов «Adapter».

После создания обоих объектов вы будете использовать метод Fill для адаптеров таблиц.Используя ваш код, пример ниже:

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)); 
}
...