Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取查询的int值_C#_Database_Winforms_Int - Fatal编程技术网

C# 获取查询的int值

C# 获取查询的int值,c#,database,winforms,int,C#,Database,Winforms,Int,我有以下代码 string connStr = String.Format("server=localhost;user id=root; password=1234;" + "database=Printermangement; pooling=false", "localhost", "root", "1234"); string Query = "select sum(Page_Printed) from printjobdetails where User_ID = 'MyPropert

我有以下代码

string connStr = String.Format("server=localhost;user id=root; password=1234;" + "database=Printermangement; pooling=false", "localhost", "root", "1234");
string Query = "select sum(Page_Printed) from printjobdetails where User_ID = 'MyProperty'GROUP by User_ID";
MySqlConnection conDataBase = new MySqlConnection(connStr);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);

MessageBox.Show(Query);
我想从这个查询中获取
sum
,但我不知道如何获取要显示在消息框中的
int
值。我该怎么做

您可以使用以下方法:

我还将命令和连接对象放置在块中。这将确保它们被安全关闭,并且它们使用的任何非托管资源都将被正确处置。

此示例来自Jan Bodnar(非常有用),经过轻微编辑,使用
ExecuteScalar()
方法执行查询

using System;
using MySql.Data.MySqlClient; 

public class Example
{

    static void Main() 
    {
        string cs = @"server=localhost;userid=user12;
            password=34klq*;database=mydb";

        MySqlConnection conn = null;
        MySqlDataReader rdr = null;

        try 
        {
            conn = new MySqlConnection(cs);
            conn.Open();

            string stm = "SELECT * FROM Authors";
            MySqlCommand cmd = new MySqlCommand(stm, conn);

            int sum = (int)cmd.ExecuteScalar();
            Console.WriteLine(sum);

        } catch (MySqlException ex) 
        {
            Console.WriteLine("Error: {0}",  ex.ToString());

        } finally 
        {

            if (conn != null) 
            {
                conn.Close();
            }

        }
    }
}

MessageBox.Show(查询)显示查询,而不是结果。为什么
ExecuteReader
?OP只需要一个值<代码>执行Calar
是所需的。
using System;
using MySql.Data.MySqlClient; 

public class Example
{

    static void Main() 
    {
        string cs = @"server=localhost;userid=user12;
            password=34klq*;database=mydb";

        MySqlConnection conn = null;
        MySqlDataReader rdr = null;

        try 
        {
            conn = new MySqlConnection(cs);
            conn.Open();

            string stm = "SELECT * FROM Authors";
            MySqlCommand cmd = new MySqlCommand(stm, conn);

            int sum = (int)cmd.ExecuteScalar();
            Console.WriteLine(sum);

        } catch (MySqlException ex) 
        {
            Console.WriteLine("Error: {0}",  ex.ToString());

        } finally 
        {

            if (conn != null) 
            {
                conn.Close();
            }

        }
    }
}