C# 更新或插入规范化SQL数据库
我有一个一般性问题。在向规范化表中插入或更新时,您可以使用常规的insert或update SQL语句,还是在这里需要使用存储过程?我正在编写一个MVC应用程序,并决定不使用EF或LINQ,这样我可以在编写的同时学习SQL。是的。您可以使用常规插入或更新。 将存储过程视为SQL语句的别名。看看这个:C# 更新或插入规范化SQL数据库,c#,sql,asp.net-mvc-4,C#,Sql,Asp.net Mvc 4,我有一个一般性问题。在向规范化表中插入或更新时,您可以使用常规的insert或update SQL语句,还是在这里需要使用存储过程?我正在编写一个MVC应用程序,并决定不使用EF或LINQ,这样我可以在编写的同时学习SQL。是的。您可以使用常规插入或更新。 将存储过程视为SQL语句的别名。看看这个: 您可以使用其中一种。使用SQL Server的System.Data.SqlClient命名空间可以从内存和性能方面获得最佳效果。EF允许您为所有操作指定存储过程,这将是正确方向上的一个简单步骤。你
您可以使用其中一种。使用SQL Server的System.Data.SqlClient命名空间可以从内存和性能方面获得最佳效果。EF允许您为所有操作指定存储过程,这将是正确方向上的一个简单步骤。你唯一缺乏的经验是联系/状态管理 调用选择/插入/更新/删除等。。。直接从代码中获取语句是绝对可能的,但是出于一致性和维护原因,对于所有CRUD操作,我将默认使用存储过程 良好的句法结构:
using( System.Data.Common.DbConnection conn = new System.Data.SqlClient.SqlConnection("<<connection string>>)
{
using(System.Data.Common.DbCommand cmd = conn.CreateCommand())
{
cmd.CommandType = <Choose either TEXT or StoredProcedure>;
cmd.Text = "<T-SQL or name of sproc:"dbo.ProcedureName">;
using( System.Data.Common.DbDataReader rdr = cmd.ExecuteReader() )
{
//if only reading 1 row
if( rdr.Read() ) // the .Read() method will read row by row
{
string s = (string) rdr["Column"]; //<-- best to always check for nulls.
}
}
}
使用(System.Data.Common.DbConnection conn=new System.Data.SqlClient.SqlConnection(“)
{
使用(System.Data.Common.DbCommand cmd=conn.CreateCommand())
{
cmd.CommandType=;
cmd.Text=“;
使用(System.Data.Common.DbDataReader rdr=cmd.ExecuteReader())
{
//如果只读一行
if(rdr.Read())//.Read()方法将逐行读取
{
string s=(string)rdr[“Column”];//无论表是否规范化,都可以使用常规插入或更新。