我是一名新生程序员,目前正在研究ASP.NET C#中的Insert,Update和Delete函数。现在我得到了一位朋友的一点支持,他的友好足以为我写一个DataAccess(我想这是一个BLL),然后才离开工作岗位。
我习惯使用数据集和网格视图,这些都非常简单,所以这种处理数据的方式对我来说非常困难。
现在,我在DataAccess中有很多代码,但我想这是我必须关注的代码:
/// <summary>
/// Used for Create/Update/Delete etc.
/// </summary>
public void Execute(string query)
{
SqlCommand comm = GetSqlCommand(query);
_conn.Open();
comm.ExecuteNonQuery();
_conn.Close();
}
我想知道:
我希望我的问题不是太“大”的一个区域来解释,如果你知道我的意思:) 任何帮助都不仅仅是值得赞赏的人!
此致 麦克
答案 0 :(得分:0)
要使用您的Execute函数,您必须编写应该执行的sql语句。您的数据访问层似乎就是这样工作的。但这不是我对DAL(数据访问层)的期望,它应该完全封装数据访问,因此BLL(业务逻辑层)必须不知道数据库是如何工作的。
答案 1 :(得分:0)
您可以在DataAccess.cs
文件中创建方法insert
,update
和detele
。然后,您可以在.aspx
文件中使用这些方法。
请查看有关Creating a Data Access Layer in ASP.Net applications for inserting,selecting,deleting and updating data和Creating a Data Access Layer的这些文章,它们将为您提供有关此过程的正确理解。
希望这有帮助
答案 2 :(得分:0)
aaa hi mike,让我们回顾一下n层架构:
DB&lt; - &gt; DAL&lt; - &gt; BLL&lt; - &gt; PL
您在问题中编写的示例代码是DAL图层的一部分,而不是BLL图层
关于第一个问题:
取决于您的架构。如果您有3层方法,那么在您的aspx文件中只需编写如下内容:
new DAL().Execute("INSERT INTO TABLE TABLENAME VALUES (...)");
但是如果你有4层方法,那么你只需将这个(最后提到的代码)代码放在BLL类和aspx文件中,就可以从BLL类中调用一个方法。
但我为你的朋友提供了另一个优惠,使用LinQ或Entity Framework等新技术创建你的DLL图层,然后创建一个BLL图层。
如果您需要更多帮助,请评论我编辑我的回复或发布其他答案以获取更多详细信息。
谢谢,阿里
答案 3 :(得分:0)
虽然这与你正在使用的方法不同,但我认为这可能仍然是一个可能的答案。
你可以考虑使用Linq(到SQl)。
Scott Guthrie有一系列文章可以帮助您入门。
我将链接到第8条,其中包含前面部分的链接。
你应该从第1-4部分得到你需要的东西。
基本上LINQ将使您能够对数据库进行SQLquery查询,如下所示:
MyDatabaseContext db = new MyDatabaseContext();
var res = from item in db.Table
where item.Column == 2
select item;
//or using Lambda expressions
var res2= db.Table.Where(x => x.Column == 1);
这可以让你自己扩展你的不同方法,让你开始使用Linq,这非常简洁。 :)
我希望这会有所帮助。