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

深入研究SQL SERVER 2005和多活动结果集(MARS)

SQL SERVER 2005引入了在单一连接上对多活动结果集(也称为MARS)或多个请求的支持。通过在与SQL SERVER 2005的连接上启用这一特性,当存在与Sqlconnection相关联的开放式SqlDataReader时,连接将不会中断。即使尚未关闭当前打开的SqlDataReader,也仍然能够在Sqlconnection上执行其他查询比如:SELECT,UPDATE,CREATETABLE等等。
举个简单的例子,就是在Northwind数据库里的订单表里取订单数据,而且把对应的子订单明细数据一起取出。
C#示例代码:<激光传真机>
string strSQL;
SqlConnectionStringBuilder ssb = new SqlConnectionStringBuilder();
ssb.DataSource = ".";
ssb.InitialCatalog = "Northwind";
ssb.UserID = "sa";
ssb.Password = "********";
ssb.MultipleActiveResultSets = true;
SqlConnection cn = new SqlConnection(ssb.ConnectionString);
SqlCommand cmdOrders, cmdDetials;
SqlParameter pCustID, pOrderID;
SqlDataReader rdrOrders, rdrDetials;
cn.Open();
strSQL = "SELECT OrderID,OrderDate from Orders WHERE CustomerID = @CustomerID";
cmdOrders = new SqlCommand(strSQL, cn);
pCustID = cmdOrders.Parameters.Add("@CustomerID", SqlDbType.NChar, 5);
strSQL = "SELECT ProductID,Quantity,UnitPrice from [ORDER dETAiLS] WHERE OrderID = @OrderID";
cmdDetials = new SqlCommand(strSQL, cn);
pOrderID = cmdDetials.Parameters.Add("@OrderID", SqlDbType.NChar, 5);
pCustID.Value = "ALFKI";
Console.WriteLine("Orders for {0}", pCustID.Value);
Console.WriteLine("=================");
rdrOrders = cmdOrders.ExecuteReader();
while (rdrOrders.Read())
{
Console.WriteLine("OrderID: {0} OrderDate:{1:d}", rdrOrders["OrderID"], rdrOrders["OrderDate"]);
pOrderID.Value = rdrOrders["OrderID"];
rdrDetials = cmdDetials.ExecuteReader();
while (rdrDetials.Read())


相关文档:

C# 执行SQL事务实例代码

 [C#]
public void RunSqlTransaction(string myConnString)
{
    SqlConnection myConnection = new SqlConnection(myConnString);
    myConnection.Open();
    SqlCommand myCommand = myConnection.CreateCommand();
    SqlTransaction m ......

几条常见的数据库分页 SQL 语句

 我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库SQL Server,Oracle和MySQL的分页语句,从数据库表中的第 ......

jboss平台下jsp连接sql2005和sql2000

1、配置java环境,MyEclipse7.0。配置jboss5.0,展开选择jdk为已安装的jdk路径。
2、安装2005和sql2000,装2000时要装sp4.驱动选择jdbc2.0。再装2000时实例名自己输入一个。这里的问题就是登录名和密码的设置,右击“SQL   Server组”下的实例名(Windows   NT)"的“属性”,在弹出的对话框 ......

用SQL Server 2005 CTE简化查询

SQL Server 2005引进了一个很有价值的新的Transact-SQL语言组件:一个通用表表达式(Common Table Expression,CTE),它是派生表和视图的一个便捷的替代。通过使用CTE,我们可以创建一个命名结果集来在SELECT、INSERT、UPDATE和DELETE语句中引用,而无须保存结果集结构的任何元数据。在本文中,我将阐述如何在SQL Server 2 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号