【发布时间】:2019-10-02 14:11:09
【问题描述】:
我想从 MySQL 数据库中的一个表中选择并显示(比如说在调试控制台中)所有数据。
我可以使用列名或索引读取数据,但只能读取一行。 有人可以告诉我如何循环槽行吗?所以我可以读取它的数据..
感谢您的帮助。
public class DatabaseHandler
{
private bool query_status;
private int? count;
private DataTable data_table;
private static MySqlConnection connection;
private MySqlDataReader data_reader;
private MySqlCommand command;
private static DatabaseHandler databasehandler;
public void insert(string table, Dictionary<string, string> data)...
public void select(string columns, string table, string where)
{
try
{
connection.Open();
this.command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "SELECT * FROM user";
this.data_reader = command.ExecuteReader();
if (this.data_reader.HasRows) {
this.count = data_reader.FieldCount;
do
{
this.data_reader.NextResult();
for (var i = 0; i < count; i++)
{
Debug.WriteLine(this.data_reader.GetValue(i));
//only returns one row. How to view all data?
}
}
while (this.data_reader.Read());
}
connection.Close();
}
catch (Exception e)
{
Debug.WriteLine(e.Message);
}
}
public void delete(string table, string where)...
public void update(string table, string new_data, string where)...
public bool get_query_status()...
public string get_custom_string()...
public int? get_query_count()...
public DataTable get_result()...
【问题讨论】:
-
您的计数是返回数据库中的实际条目数还是仅 = 1?先检查一下,我会说。 for (var i = 0; i
-
现在我知道我哪里出错了。获取结果时,我使用了 DB.select("", "table_name", "id = ''1");而不是 DB.select("", "table_name", "") 所以我总是只取一个..我根本没有注意这行代码。我的错。无论如何感谢您的帮助。