C#中如何连接数据库?
how to connect to database in c #?
很好,我正在学习 c# .net,我在这个查询中的错误是什么? ,我想使用获取服务,它给了我一个连接错误。我提前谢谢你我想学习编程开始在编程的世界
[HttpGet("buscar/{id}")]
public ActionResult buscar(int id)
{
string cn =
"Data Source=192.168.1.16;Initial Catalog=ProjectCondominio;Integrated User = ebim; Password = Viernes14";
string query = "SELECT * FROM dbo.MPERSONAS" +
"WHERE MPERS_ID = @idpersona";
using (SqlConnection cmd = new SqlConnection(cn))
{
SqlCommand command = new SqlCommand(query, cmd);
command.Parameters.AddWithValue("@idpersona", id);
cmd.Open();
SqlDataReader reader = command.ExecuteReader();
return Ok(reader);
}
}
enter image description here
string query = "SELECT * FROM dbo.MPERSONAS" +
"WHERE MPERS_ID = @idpersona";
将连接到
SELECT * FROM dbo.MPERSONASWHERE MPERS_ID = @idpersona
无效 sql。在第一行末尾或第二行开头添加 space。或者使用 @
并像这样使用 ReturnCharacter 保留您的查询:
string query = @"SELECT * FROM dbo.MPERSONAS
WHERE MPERS_ID = @idpersona";
此外(没有问题,但无论如何让我告诉你)不要使用“裸”SqlCommand 并返回整个 DataReader:
想象一下当您向 dbo.MPERSONAS
添加新列时会发生什么 - 您的 API 将作为副作用发生变化,从而暴露这个新列。也许您公开了一些 PPI(受保护的个人信息)或 dbo.MPERSONAS.CreditCardNumber
或其他任何内容。
使用强类型 DTO(我不知道您使用的是哪个版本的 .net,所以可能是新的 record
(.net5+) 或旧的 class
)+ 某种 ORM,像 Dapper(如果您想手动编写查询 - Whosebug 在 Dapper 上是 运行 ;))或 EntityFramework(Core)。
很好,我正在学习 c# .net,我在这个查询中的错误是什么? ,我想使用获取服务,它给了我一个连接错误。我提前谢谢你我想学习编程开始在编程的世界
[HttpGet("buscar/{id}")]
public ActionResult buscar(int id)
{
string cn =
"Data Source=192.168.1.16;Initial Catalog=ProjectCondominio;Integrated User = ebim; Password = Viernes14";
string query = "SELECT * FROM dbo.MPERSONAS" +
"WHERE MPERS_ID = @idpersona";
using (SqlConnection cmd = new SqlConnection(cn))
{
SqlCommand command = new SqlCommand(query, cmd);
command.Parameters.AddWithValue("@idpersona", id);
cmd.Open();
SqlDataReader reader = command.ExecuteReader();
return Ok(reader);
}
}
enter image description here
string query = "SELECT * FROM dbo.MPERSONAS" +
"WHERE MPERS_ID = @idpersona";
将连接到
SELECT * FROM dbo.MPERSONASWHERE MPERS_ID = @idpersona
无效 sql。在第一行末尾或第二行开头添加 space。或者使用 @
并像这样使用 ReturnCharacter 保留您的查询:
string query = @"SELECT * FROM dbo.MPERSONAS
WHERE MPERS_ID = @idpersona";
此外(没有问题,但无论如何让我告诉你)不要使用“裸”SqlCommand 并返回整个 DataReader:
想象一下当您向 dbo.MPERSONAS
添加新列时会发生什么 - 您的 API 将作为副作用发生变化,从而暴露这个新列。也许您公开了一些 PPI(受保护的个人信息)或 dbo.MPERSONAS.CreditCardNumber
或其他任何内容。
使用强类型 DTO(我不知道您使用的是哪个版本的 .net,所以可能是新的 record
(.net5+) 或旧的 class
)+ 某种 ORM,像 Dapper(如果您想手动编写查询 - Whosebug 在 Dapper 上是 运行 ;))或 EntityFramework(Core)。