- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 MySQL 控制台中,我可以看到 select Price from rates order by id
的结果,我明白了:
mysql> select Price from rates order by id;
+-------+
| Price |
+-------+
| 100 |
| 120 |
| 150 |
| 200 |
| 350 |
| 700 |
| 500 |
| 700 |
| 800 |
| 1300 |
| 1500 |
| 7000 |
| 8000 |
| 15000 |
| 20000 |
+-------+
15 rows in set
但是当我在这个方法中将它作为 string command 运行时;
public List<string[]> ExecuteQuery(string command)
{
com = new MySqlCommand(command, con);
reader = com.ExecuteReader();
if (reader.HasRows)
{
List<string[]> records = new List<string[]>();
while (reader.Read())
{
string[] row = new string[reader.FieldCount];
for (int i = 0; i < reader.RecordsAffected; i++)
row[i] = reader[i].ToString();
records.Add(row);
}
reader.Close();
return records;
}
else
{
reader.Close();
return new List<string[]>();
}
}
reader.AffectedRows
是 -1,它打乱了整个过程......但是这个工作得很好......
MySqlCommand com = new MySqlCommand("select Access from useraccounts where Username = '" + tbxUsername.Text + "' and Pass = '" + tbxPassword.Text + '\'', d.con);
object result = com.ExecuteScalar();
我正在使用这个连接字符串:datasource = 192.168.43.191;数据库=数据库名称;用户=用户名; password = pass_word;
在运行 Apache 和 MySQL 的 Visual Studio 2015 和 XAMPP 中。这是我第一次遇到这个问题。希望你能帮上忙
最佳答案
RecordsAffected当您的查询是 INSERT/UPDATE/DELETE 查询时设置,而不是当您的查询是 SELECT 查询时设置。在您的代码中,您似乎想要使用 FieldCount属性代替
while (reader.Read())
{
string[] row = new string[reader.FieldCount];
for (int i = 0; i < reader.FieldCount; i++)
row[i] = reader[i].ToString();
records.Add(row);
}
您也可以将您的代码更改为这个较短的代码
public List<string[]> ExecuteQuery(string command)
{
List<string[]> records = new List<string[]>();
using(com = new MySqlCommand(command, con))
using(reader = com.ExecuteReader())
{
while (reader.Read())
{
string[] row = new string[reader.FieldCount];
for (int i = 0; i < reader.FieldCount i++)
row[i] = reader[i].ToString();
records.Add(row);
}
}
return records;
}
但是,一般来说,我建议避免使用这些全部方法,它们无法以最高效的方式处理应用程序所需的许多不同类型的查询。
例如,该方法返回一个包含字符串数组的列表,而实际上,您只返回一个列(不需要数组),并且值可能是小数,这些小数被转换为字符串并可能被转换回小数当你使用它们时。我们甚至没有开始谈论日期。您是否看到此方法如何将其问题传播到您的所有应用程序?
如果你想要一个通用的解决方案,那么选择一个好的 ORM,它抽象了数据库的使用并返回正确转换为对象实例的数据。检查 Entity Framework或 Dapper (但还有许多其他存在)
关于C# MySQLDataReader.AffectedRows = -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48537470/
在我的 MySQL 控制台中,我可以看到 select Price from rates order by id 的结果,我明白了: mysql> select Price from rates or
我在添加经销商时遇到错误,有人可以帮助我解决此错误吗? c:\users\admin\Desktop\projet-fali\node_modules\mysql\lib\protocol\Parse
我有一个使用模型绑定(bind)的 ASP.NET 4.5 Web 表单应用程序。我已经按照本教程创建了一个业务逻辑层:http://www.asp.net/web-forms/tutorials/d
我是一名优秀的程序员,十分优秀!