gpt4 book ai didi

C#使用MYSQL ExecuteScalar()类型错误

转载 作者:可可西里 更新时间:2023-11-01 07:09:29 26 4
gpt4 key购买 nike

我正在使用 Xamarin 中的 MySQL 库连接到我的数据库。我正在调用 ExecuteScalar() 命令来检查我的数据库中是否存在用户。

我将 ExecuteScalar() 的返回转换为 Int32 并存储在名为 userCount 的 Int32 变量中,但 Visual Studio 抛出一个 cast is not valid 当我尝试调用 (int32)checkUser.ExecuteScalar();

时出错

这是建议在 documentation 中完成的方式,所以我很困惑。这是我的代码:

using MySql.Data.MySqlClient;
using System.Data;

MySqlCommand checkUser = new MySqlCommand("SELECT COUNT(*) FROM <MyCoolDatabase> WHERE Userid = '" + username + "'", connection);

Int32 userCount = (Int32)checkUser.ExecuteScalar(); //error is here
if(userCount >0)
{
//do stuff
}

最佳答案

您链接到 System.Data.SqlClient 而不是 MySQL.Data.MySqlClient

https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-sql-command.html

那里有一个例子-

object result = cmd.ExecuteScalar();
if (result != null)
{
int r = Convert.ToInt32(result);
Console.WriteLine("Number of countries in the world database is: " + r);
}

您可能正在尝试将 null 转换为 int32

关于C#使用MYSQL ExecuteScalar()类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43794585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com