gpt4 book ai didi

c# - 在调用 read() 之前尝试访问字段无效

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

我已经搜索了好几个小时,寻找这个问题的解决方案。我正在尝试使用下面的代码和正确的查询从我的数据库中获取信息。我知道这些查询有效,因为我已经在 MySQL Workbench 中测试了它们。我不断收到错误消息:

Invalid attempt to access field before calling read()

正如您将看到的,我确实调用了 read(),我的研究只是发现没有使用正确的数据库,我也已经验证它是正确的。关于为什么我会收到此错误的任何想法?在此先感谢您的帮助。

public static string ExecuteSelect(string query)
{
//Example query is: SELECT entity_id FROM catalog_product_flat_1 WHERE sku='itemSku';
string statement = "";

MySqlCommand myCommand = new MySqlCommand(query, _conn);

MySqlDataReader myReader;
myReader = myCommand.ExecuteReader();
myReader.Read();

statement = myReader.GetString(0);
myReader.Close();

return statement;
}

最佳答案

不确定这是否是您遇到的问题,但您应该始终检查 Read() 的结果。例如

if (myReader.Read())
{
statement = myReader.GetString(0);
}

编辑:此外,您实际上正在做的是检索标量,因此您可以使用 ExecuteScalar()

return (myCommand.ExecuteScalar() ?? string.Empty).ToString();
//also rename your method appropriately

关于c# - 在调用 read() 之前尝试访问字段无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11089633/

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