[英]ASP.NET Web API Connecting to MySQL Database
I am new when it comes to C# and.Net applications however im trying to build a Web API that pulls data from a MySql
database and displays it in JSON format when you reach that endpoint.
我為此使用MySql.Data.MySqlClient
並打算使用Newtonsoft.JSON
以 JSON 格式序列化結果格式。
代碼:
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
MySqlConnection conn = new MySqlConnection(@"server=localhost;port=3306;database=mysql;username=root;password=[PASSWORD];");
[HttpGet]
public string Get()
{
MySqlCommand query = conn.CreateCommand();
query.CommandText = "SELECT * FROM engine_cost LIMIT 100";
try
{
conn.Open();
}
catch (MySqlException ex)
{
throw ex;
}
MySqlDataReader fetch_query = query.ExecuteReader();
while (fetch_query.Read())
{
return fetch_query.ToString(); // Result: "MySql.Data.MySqlClient.MySqlDataReader"
}
return "yay"; // Return JSON with Database values
}
}
我知道代碼有點亂,但我真的不確定如何解決這個問題。
提前致謝
這是我的解決方案:
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
MySqlConnection conn = new MySqlConnection("server=localhost;port=3306;database=mysql;username=root;password=[PASSWORD];");
[HttpGet]
public string Get()
{
string sqlCmd = "SELECT * FROM engine_cost LIMIT 100";
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM engine_cost LIMIT 100;", conn);
da.SelectCommand.CommandType = CommandType.Text;
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
return JsonConvert.SerializeObject(dt);
}
else
{
return "no data found";
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.