gpt4 book ai didi

C# MySQL参数化查询问题

转载 作者:行者123 更新时间:2023-11-29 05:00:54 26 4
gpt4 key购买 nike

我有以下用于从数据库填充 DAO 的方法。它执行 3 次读取 - 一次读取主要对象,2 次读取一些翻译。

public bool read(string id, MySqlConnection c)
{
MySqlCommand m = new MySqlCommand(readCommand);
m.Parameters.Add(new MySqlParameter("@param1", id));
m.Connection = c;
MySqlDataReader r = m.ExecuteReader();
r.Read();
accountID = Convert.ToInt32(r.GetValue(0).ToString());
...
comment = r.GetValue(8).ToString();
r.Close();
m = new MySqlCommand(getAccountName);
m.Parameters.Add(new MySqlParameter("@param1", accountID));
m.Connection = c;
r = m.ExecuteReader();
r.Read();
account1Name = r.GetValue(0).ToString();
r.Close();
m = new MySqlCommand(getAccountName);
m.Parameters.Add(new MySqlParameter("@param1", secondAccountID));
m.Connection = c;
r = m.ExecuteReader();
r.Read();
account2Name = r.GetValue(0).ToString();
r.Close();
return true;
}

account2Name = r.GetValue(0).ToString(); 行上,我收到以下错误:

Invalid attempt to access a field before calling Read()

我不明白问题出在哪里 - 上一行调用了 read!

最佳答案

这似乎在您的代码中更早地起作用了。您确定那里有要读取的值(即您的查询是否返回 0 行或 null 或其他无法转换为字符串的内容?)

关于C# MySQL参数化查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832916/

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