您好我需要一个代码来读取C#的列和行。
我到目前为止:
obj.MysqlQUERY("SELECT * FROM `players` WHERE name = "+name+";"); // my query function
感激帮助;]
答案 0 :(得分:5)
这是我与MySql一起使用的标准代码块。请注意,您必须使用可用的here MySql连接器。
string myName = "Foo Bar";
using (MySqlConnection conn = new MySqlConnection("your connection string here"))
{
using (MySqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = @"SELECT * FROM players WHERE name = ?Name;";
cmd.Parameters.AddWithValue("Name", myName);
MySqlDataReader Reader = cmd.ExecuteReader();
if (!Reader.HasRows) return;
while (Reader.Read())
{
Console.WriteLine(GetDBString("column1", Reader);
Console.WriteLine(GetDBString("column2", Reader);
}
Reader.Close();
conn.Close();
}
}
private string GetDBString(string SqlFieldName, MySqlDataReader Reader)
{
return Reader[SqlFieldName].Equals(DBNull.Value) ? String.Empty : Reader.GetString(SqlFieldName);
}
请注意,如果数据库值为null,我将使用方法返回特定值。您可以获得创意并提供各种返回值或合并可空类型等。
答案 1 :(得分:1)
您也可以使用:
创建自己的dataTable。当读者到达终点时,您将获得自定义创建的数据表,并自行填充自定义数据。
DataTable dt = new DataTable();
dt.Columns.Add("Id",typeof(int));
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add("BlaBla",typeof(string));
dt.AcceptChanges();
// Your DB Connection codes.
while(dr.Read())
{
object[] row = new object[]()
{
dr[0].ToString(),// ROW 1 COLUMN 0
dr[1].ToString(),// ROW 1 COLUMN 1
dr[2].ToString(),// ROW 1 COLUMN 2
}
dt.Rows.Add(row);
}