c# - 我无法将变量从 C# 插入到 MySql 数据库

标签 c# mysql database visual-studio

我有一个包含我的产品买家信息的数据库,但我希望它将程序提供的值发送到数据库,如果它为空,我该怎么做?

代码:

我有一个包含我的产品买家信息的数据库,但我希望它将程序提供的值发送到数据库,如果它为空,我该怎么做?

代码:

string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";
var connection = new MySqlConnection(connString);
var cmd = new MySqlCommand(comando, connection);
cmd.Parameters.AddWithValue("@Usuario", usuario);
cmd.Parameters.AddWithValue("@Senha", senha);
var command = connection.CreateCommand();
connection.Open();
MySqlDataReader leitor = cmd.ExecuteReader();
while (leitor.Read())
{
    hd_id = leitor["id"].ToString();
}
if (hd_id == null)
{
    //Code i need here
}
int retorno = Convert.ToInt32(cmd.ExecuteScalar());
connection.Close();

最佳答案

这个问题在翻译中丢失了很多内容,但是从我想我正在阅读的内容来看,我认为您希望从数据库中检索 ID。但查询只是运行一个 count 命令,其中不包含该命令。

string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";

实际上应该是

string comando = "SELECT id FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";

由于您只返回 1 个值(如果没有记录匹配则返回 null),因此您不需要使用读取器;可以直接读取返回值,检查是否为null

var sqlReturn = cmd.ExecuteScalar();
if (sqlReturn == null) {  /* Code i need here */ }
else { hd_id = (int)sqlReturn; }

如果我不明白这个问题;请随时告诉我,我们会看看能否帮您解决问题。

关于c# - 我无法将变量从 C# 插入到 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43647039/

相关文章:

c# - 无法解释的内存泄漏与 Marshal.StructureToPtr

c# - C# asp.net Core 中的 Image 类型等效于什么?

mysql - 选择列必须对所有行具有相同值的行

php - 什么会导致网站不总是加载

php - Laravel 5 php artisan migrate --数据库参数不起作用

c# - 如何基于属性使用 JSON.NET 序列化枚举?

c# - 发布到 Azure 错误 - 错误 : '' , 十六进制值 0x0F 是无效字符。 1 号线,位置 285

mysql - 从多个表中选择数据 - laravel

c# - 如何以编程方式创建新的本地 SQL Server 实例?

c# - 有没有办法检查数据库中是否存在随机生成的数字? C#