我基本上是编码新手,我在大学,我们有一个小项目要完成,我正在使用 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:UserskubasDesktopMyProjectProjectDB.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();
}
}
对不起,如果你有什么听不懂的,英语不是我的第一语言。
也许试试这个命令查询:"SELECT Count(Gender) FROM Survey WHERE Gender = "" + Gender1 + """;
据我所知。 Access 对字符串使用引号。