C# 如何将MySql的返回数据分配给C变量?

C# 如何将MySql的返回数据分配给C变量?,c#,mysql,visual-studio-2013,count,C#,Mysql,Visual Studio 2013,Count,我正在尝试获取数据库中某列的计数 string cmdstr = "select count(" + col + ") from " + tbname + " where \"" + col + "\" =\"" + val + "\""; 但是,我不知道如何将计数值分配给int。var myVariable=new MySqlCommandSELECT 3 FROM table WHERE id=1 databaseCon int id=intmyVariable.Execute

我正在尝试获取数据库中某列的计数

string cmdstr = "select count(" + col + ") from " + tbname + " where \"" +
    col + "\" =\"" + val + "\"";  
但是,我不知道如何将计数值分配给int。

var myVariable=new MySqlCommandSELECT 3 FROM table WHERE id=1

databaseCon

int id=intmyVariable.ExecuteScalar

强制转换teturn值并将其分配给Int类型变量


如果您需要更多帮助,请通知我,也许这可以帮助您:

var result = Cmd.ExecuteNonQuery();

这是在我的一个SQL问题上向我提出的建议,当时我问为什么这样做而不只是键入Cmd.ExecuteNonQuery;。他向我解释说,这样可以得到一个变量,表示有多少行受到影响

有两种方法,ExecuteScalar获取值,或者您可以获取数据集

执行官

int result=Convert.ToInt32sqlCommand.ExecuteScalar.ToString

数据集

MySqlDataAdapter MySqlDataAdapter=newmysqldataadaptersqlcommand

数据集=新数据集

mySqlDataAdapter.FilldataSet

int result=Convert.ToInt32DataSet.Tables[0]。行[0][YourFieldName]。Tostring


查看SqlCommand的ExecuteReader方法。它将执行命令,然后您可以调用.Read来获取值:另外,查看参数。您的代码对Sql注入开放,这是非常危险和糟糕的做法。将myVariable强制转换为int时,会弹出一个错误,说明指定的强制转换无效@请尝试强制转换代码变量。我举了一个例子。可能您正在检索的字段不是int?COUNT*返回组中的项数,包括空值和重复项。