易截截图软件、单文件、免安装、纯绿色、仅160KB

N 层应用程序中的数据检索和 CUD 操作 (LINQ to SQL)

http://msdn.microsoft.com/zh-cn/library/bb546187.aspx
http://www.cnblogs.com/kirinboy/archive/2010/01/20/linq-to-sql-update-1.html
【引文】
在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作。下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me。
从最简单的情况入手
我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码:
// List 0
NorthwindDataContext db = new NorthwindDataContext();
Product product = db.Products.Single(p => p.ProductID == 1);
product.ProductName = "Chai Changed";
db.SubmitChanges();
测试一下,更新成功。不过我相信,在各位的项目中不会出现这样的代码,因为它简直没法复用。好吧,让我们对其进行重构,提取至一个方法中。参数应该是什么呢?是新的产品名称,以及待更新的产品ID。嗯,好像是这样的。
public void UpdateProduct(int id, string productName)
{
NorthwindDataContext db = new NorthwindDataContext();
Product product = db.Products.Single(p => p.ProductID == id);
product.ProductName = productName;
db.SubmitChanges();
}
在实际的项目中,我们不可能仅仅只修改产品名称。Product的其他字段同样也是修改的对象。那么UpdateProduct方法的签名将变成如下的形式:
public void UpdateProduct(int id,
string productName,
int suplierId,
int categoryId,
string quantityPerUnit,
decimal unitPrice,
short unitsInStock,
short unitsOnOrder,
short reorderLevel)
当然这只是简单的数据库,在实际项目中,二十、三十甚至上百个字段的情况也不少见。谁能忍受这样的方法呢?这样写,还要Product对象干什么呢?
对啊,把Product作为方法的参数,把恼人的赋值操作抛给客户代码吧。同时,我们将获取Product实例的代码提取出来,形成GetProduct方法,并且将与数据库操作相关的方法放到一个专门负责和数据库打交道的ProductRepository类中。哦耶,SRP!
// List 1
// ProductRepository
public Product GetProduct(int id)
{
NorthwindDataContext db = new NorthwindDataContext();
return db.Products.SingleOrDefault(p => p.id == id);
}
public void UpdateProduct(Produ


相关文档:

在Oracle 9i中修改表的结构的相关sql语句

用sql*plus或第三方可以运行sql语句的程序登录数据库:
增加一个列:
ALTER TABLE 表名 ADD(列名 数据类型);
如:
ALTER TABLE emp ADD(weight NUMBER(38,0));
修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(wei ......

SQL注入

      随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序 ......

SQL SERVER 2008 表值参数

/*
SQL SERVER 2008 表值参数
 
    SQL SERVER 引入了抗议用来将行集传入到存储过程和用户定义函数的表值参数.
这个功能可以使存储过程和函数具有封装多个行集的功能,而不是必须一行一行地调
数据修改过程和穿件多个输入参数来生硬的转化为多行.
 
    我们在应用中经常用 ......

SQL 附加数据库时出现 无法打开物理文件错误

SQL 附加数据库时出现 无法打开物理文件错误
错误信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
无法打开物理文件 "D:\SqlDataBase\Test.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)
解决办法:
  ......

SQL Server2005中的SQL Server身份验证的设置


刚刚装了SQL2008,配置了一下,在网上找到这个教程,觉得不错,转载学习
1、 更改TCP/IP连接为启用
2、 登录 , 修改2个地方
    a) 身份验证方式(混合模式)
        图一:首先使用windows身份登录(注意, 服务器名称必须填写正确)
     ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号