Я в основном новичок в кодировании, и я в универе, у нас есть небольшой проект, который нужно завершить, и я использую OleDb, чтобы сделать это, как я использовал его раньше, я пытаюсь подсчитать числострок, где поле равно определенному значению, но я всегда получаю 0. Чтобы быть более понятным, я хочу получить статистику, показывающую процент мужчин / женщин, которые завершили опрос (программу, которую я делаю), в настоящее время у меня есть 1 мужчинаи 2 женщины, поэтому моя строка для всех строк показывает 3, что правильно, но когда я хочу подсчитать все строки, которые содержат женщин, он показывает 0, поэтому общий процент равен 0, и текстовое поле, которое должно показывать статистикупоказывает 0, вот код:
private void Form2_Load(object sender, EventArgs e)
{
String connectionString;
connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Users\kubas\Desktop\MyProject\ProjectDB.accdb'";
using (OleDbConnection myConnection = new OleDbConnection(connectionString))
{
string Gender1 = "Female";
OleDbConnection con;
OleDbCommand cmd = new OleDbCommand();
OleDbCommand cmd1 = new OleDbCommand();
con = new OleDbConnection(connectionString);
con.Open();
cmd.CommandText = "SELECT Count(Gender) FROM Survey WHERE Gender = '" + Gender1 + "'";
cmd1.CommandText = "SELECT Count(Gender) FROM Survey";
cmd.Connection = con;
cmd1.Connection = con;
con.Close();
try
{
con.Open();
int total = (Int32)cmd.ExecuteScalar();
int total1 = (Int32)cmd1.ExecuteScalar();
int tot;
tot = total / total1 * 100;
string ttal = Convert.ToString(tot);
textBox1.Text = ttal;
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
извините, если есть что-то, чего вы не можете понять, английский не мой родной язык.