- 模式识别大小:56KB1. 仍然使用第一次作业中收集的数据作为训练集(注意:不得超过20+20 例样 本),采用身高和体重为特征进行性别分类,训练SVM 分类器,在测试数据 dataset1.txt 上测试分类效果。SVM 中分别使用线性核和高斯核,参数自己 确定。 2. 使用一个较大的数据集(dataset2.txt)作训练样本,采用身高和体重为特征 进行性别分类,在正态分布假设下估计概率密度,建立最小错误率贝叶斯分 类器,写出得到的决策规则;把分类器应用到dataset1.txt 上,计算测试错 误率。(自行决定采用什么先验概率。) 3. 将样本和两次作业中得到的多个分类面画到由身高和体重组成的二维平面 上,尝试进行分析和讨论。(也可以在基本要求基础上自己设计其他实验,将 结果放到一起进行分析。)1. 仍然使用第一次作业中收集的数据作为训练集(注意:不得超过20+20 例样 本),采用身高和体重为特征进行性别分类,训练SVM 分类器,在测试数据 dataset1.txt 上测试分类效果。SVM 中分别使用线性核和高斯核,参数自己 确定。 2. 使用一个较大的数据集(dataset2.txt)作训练样本,采用身高和体重为特征 进行性别分类,在正态分布假设下估计概率密度,建立最小错误率贝叶斯分 类器,写出得到的决策规则;把分类器应用到dataset1.txt 上,计算测试错 误率。(自行决定采用什么先验概率。) 3. 将样本和两次作业中得到的多个分类面画到由身高和体重组成的二维平面 上,尝试进行分析和讨论。(也可以在基本要求基础上自己设计其他实验,将 结果放到一起进行分析。)5 516浏览会员免费
- lena大小:20MB包含灰度图像、彩色图像的lena、Barbara、man、boats等在内的46张图片包含灰度图像、彩色图像的lena、Barbara、man、boats等在内的46张图片3 1512浏览会员免费
- 如今绝大多数的数据都变得难以利用,仅仅因为人们无法可视化其中的数量与关系。《可视化数据》使用了一种流行的、开源的由作者开发的编程环境Processing,并说明了准确地在网页上或别处表述数据的方法,实现了用户交互、动画和更多功能。如何将30亿人的基因同猩猩或是老鼠的基因相比较·数百万网民通过什么样的途径来访问同一个网页·通过《可视化数据》,可以学习使用交互显示来回答类似的复杂问题。我们不是谈论统一的图表模板。《可视化数据》指导您如何在Processing的帮助下,为一个庞大的、复杂的数据集合设计整个接口,Processing是一个强大的设计工具和编程环境。许多研究人员和公司都使用Processing,它以一种清晰易懂的方式来表达具体数据。通过这个工具和《可视化数据》,您可以学习基本的可视化原则,以及如何选择合适的显示,如何提供交互功能,为您的网站不断地带来更多的用户。 《可视化数据》内容包括: ·可视化数据的七个阶段:获取、分析、过滤、挖掘、表述、修饰和交互; ·数据问题是如何开始的,又是如何以一个清晰的答案结束的,通常还附有额外的细节; ·许多项目实例的实现; ·每种表述方式的优缺点,这些表述方式是以定制为中心的,这样它们能更好地表达它们要表示的数据集合。5 276浏览会员免费
- Oxford大小:59MBOxford 17 类鲜花数据集,上传传的内容合法合规;Oxford 17 类鲜花数据集,上传传的内容合法合规;4 1228浏览会员免费
- SQLHelper大小:137KB.net数据访问类 SQL Helper 介绍 摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以在自己的 .NET 应用程序中将其作为构造块来使用,以减少需要创建、测试和维护的自定义代码的数量。您可以下载完整的 C# 和 Visual Basic .NET 源代码以及综合文档。 简介 您是否正在从事 .NET 应用程序数据访问代码的设计和开发?您是否觉得自己总是在反复编写相同的数据访问代码?您是否曾经将数据访问代码包装在 Helper 函数中,以便能够在一行中调用存储过程?如果是,那么 Microsoft® Data Access Application Block for .NET 正是为您设计的。 Data Access Application Block 将访问 Microsoft SQL Server™ 数据库的性能和资源管理方面的最佳经验封装在一起。您可以很方便地在自己的 .NET 应用程序中将其作为构造块使用,从页减少了需要创建、测试和维护的自定义代码的数量。 尤其是,Data Access Application Block 可以帮助您: 调用存储过程或 SQL 文本命令。 指定参数详细信息。 返回 SqlDataReader、DataSet 或 XmlReader 对象。 例如,在引用了 Data Access Application Block 的应用程序中,您可以简单地在一行代码中调用存储过程并生成 DataSet,如下所示: [C#] DataSet ds = SqlHelper.ExecuteDataset( connectionString, CommandType.StoredProcedure, "getProductsByCategory", new SqlParameter("@CategoryID", categoryID)); 注意: Application Block for .NET(用于 .NET 的应用程序块)是基于对成功的 .NET 应用程序进行详细研究而设计的。它以源代码的形式提供,您可以原样使用,也可以针对自己的应用程序进行自定义。该应用程序块并不代表未来 Microsoft ADO.NET 程序库的发展方向。Microsoft ADO.NET 程序库是为在各种使用情况下实现对数据访问行为的精确控制而建立的。将来的 ADO.NET 版本可能会使用不同的模型来实现这个方案 SqlHelper 类提供了一组静态方法,可以用来向 SQL Server 数据库发出许多各种不同类型的命令。 SqlHelperParameterCache 类提供命令参数缓存功能,可以用来提高性能。该类由许多 Execute 方法(尤其是那些只运行存储过程的重写方法)在内部使用。数据访问客户端也可以直接使用它来缓存特定命令的特定参数集。 使用 SqlHelper 类执行命令 SqlHelper 类提供了五种 Shared (Visual Basic) 或 static (C#) 方法,它们是:ExecuteNonQuery、ExecuteDataset、ExecuteReader、ExecuteScalar 和 ExecuteXmlReader。实现的每种方法都提供一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。类中实现的所有方法都支持以下重载: [C#] Execute* (SqlConnection connection, CommandType commandType, string commandText) Execute* (SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (SqlConnection connection, string spName, params object[] parameterValues) Execute* (SqlConnection connection, CommandType commandType, string commandText) Execute* (SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (SqlConnection connection, string spName, params object[] parameterValues) 除这些重载以外,除 ExecuteXmlReader 之外的其他方法还提供了另一种重载:允许将连接信息作为连接字符串而不是连接对象来传递,如下面的方法签名所示: [Visual Basic] Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String) Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String, _ ByVal ParamArray commandParameters() As SqlParameter) Execute* (ByVal connectionString As String, _ ByVal spName As String, _ ByVal ParamArray parameterValues() As Object) [C#] Execute* (string connectionString, CommandType commandType, string commandText) Execute* (string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (string connectionString, string spName, params object[] parameterValues) 注意: ExecuteXmlReader 不支持连接字符串,因为:与 SqlDataReader 对象不同,XmlReader 对象在 XmlReader 关闭时没有提供自动关闭连接的方法。如果客户端传递了连接字符串,那么当客户端完成对 XmlReader 的操作后,将无法关闭与 XmlReader 相关联的连接对象。 通过参考 Data Access Application Block 程序集并导入 Microsoft.ApplicationBlocks.Data 命名空间,您可以轻松编写使用任何一种 SqlHelper 类方法的代码,如下面的代码示例所示: [Visual Basic] Imports Microsoft.ApplicationBlocks.Data [C#] using Microsoft.ApplicationBlocks.Data; 导入命名空间后,您可以调用任何 Execute* 方法,如下面的代码示例所示: [Visual Basic] Dim ds As DataSet = SqlHelper.ExecuteDataset( _ "SERVER=(local);DATABASE=Northwind;INTEGRATED SECURITY=True;", _ CommandType.Text, "SELECT * FROM Products") [C#] DataSet ds = SqlHelper.ExecuteDataset( "SERVER=DataServer;DATABASE=Northwind;INTEGRATED SECURITY=sspi;", _ CommandType.Text, "SELECT * FROM Products"); 使用 SqlHelperParameterCache 类管理参数 SqlHelperParameterCache 类提供了三种可以用来管理参数的公共共享方法。它们是: CacheParameterSet。用于将 SqlParameters 数组存储到缓存中。 GetCachedParameterSet。用于检索缓存的参数数组的副本。 GetSpParameterSet。一种重载方法,用于检索指定存储过程的相应参数(首先查询一次数据库,然后缓存结果以便将来查询)。 缓存和检索参数 通过使用 CacheParameterSet 方法,可以缓存 SqlParameter 对象数组。此方法通过将连接字符串和命令文本连接起来创建一个键,然后将参数数组存储在 Hashtable 中。 要从缓存中检索参数,请使用 GetCachedParameterSet 方法。此方法将返回一个 SqlParameter 对象数组,这些对象已使用缓存(与传递给该方法的连接字符串和命令文本相对应)中的参数的名称、值、方向和数据类型等进行了初始化。 注意: 用作参数集的键的连接字符串通过简单的字符串比较进行匹配。用于从 GetCachedParameterSet 中检索参数的连接字符串必须与用来通过 CacheParameterSet 来存储这些参数的连接字符串完全相同。语法不同的连接字符串即使语义相同,也不会被认为是匹配的。 以下代码显示了如何使用 SqlHelperParameterCache 类来缓存和检索 Transact-SQL 语句的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim sql As String = _ "SELECT ProductName FROM Products " + _ "WHERE Category=@Cat AND SupplierID = @Sup" 缓存参数 Dim paramsToStore(1) As SqlParameter paramsToStore(0) = New SqlParameter("@Cat", SqlDbType.Int) paramsToStore(1) = New SqlParameter("@Sup", SqlDbType.Int) SqlHelperParameterCache.CacheParameterSet(CONN_STRING, _ sql, _ paramsToStore) 从缓存中检索参数 Dim storedParams(1) As SqlParameter storedParams = SqlHelperParameterCache.GetCachedParameterSet( _ CONN_STRING, sql) storedParams(0).Value = 2 storedParams(1).Value = 3 在命令中使用参数 Dim ds As DataSet ds = SqlHelper.ExecuteDataset(CONN_STRING, _ CommandType.Text, _ sql, storedParams) [C#] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SELECT ProductName FROM Products " + "WHERE Category=@Cat AND SupplierID = @Sup"; // 缓存参数 SqlParameter[] paramsToStore = new SqlParameter[2]; paramsToStore[0] = New SqlParameter("@Cat", SqlDbType.Int); paramsToStore[1] = New SqlParameter("@Sup", SqlDbType.Int); SqlHelperParameterCache.CacheParameterSet(CONN_STRING, sql, paramsToStore); // 从缓存中检索参数 SqlParameter storedParams = new SqlParameter[2]; storedParams = SqlHelperParameterCache.GetCachedParameterSet( CONN_STRING, sql); storedParams(0).Value = 2; storedParams(1).Value = 3; // 在命令中使用参数 DataSet ds; ds = SqlHelper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure, sql, storedParams); 检索存储过程参数 SqlHelperParameterCache 还提供了针对特定存储过程检索参数数组的方法。一种名为 GetSpParameterSet 的重载方法提供了此功能,它包含两种实现。该方法尝试从缓存中检索特定存储过程的参数。如果这些参数尚未被缓存,则使用 .NET 的 SqlCommandBuilder 类从内部检索,并将它们添加到缓存中,以便用于后续的检索请求。然后,为每个参数指定相应的参数设置,最后将这些参数以数组形式返回给客户端。以下代码显示了如何检索 Northwind 数据库中 SalesByCategory 存储过程的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim spName As String = "SalesByCategory" 检索参数 Dim storedParams(1) As SqlParameter storedParams = SqlHelperParameterCache.GetSpParameterSet( _ CONN_STRING, spName) storedParams(0).Value = "Beverages" storedParams(1).Value = "1997" 在命令中使用参数 Dim ds As DataSet ds = SqlHelper.ExecuteDataset(CONN_STRING, _ CommandType.StoredProcedure, _ spName, storedParams) [C#] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SalesByCategory"; // 检索参数 SqlParameter storedParams = new SqlParameter[2]; storedParams = SqlHelperParameterCache.GetSpParameterSet( CONN_STRING, spName); storedParams[0].Value = "Beverages"; storedParams[1].Value = "1997"; // 在命令中使用参数 DataSet ds; ds = SqlHelper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure, spName, storedParams); 内部设计 Data Access Application Block 包含了完整的源代码和有关其设计的综合指南。本节介绍有关主要实现的详细信息。 SqlHelper 类实现详细信息 SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。在 SqlHelper 类中实现的方法包括: ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。 ExecuteReader。此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。 ExecuteDataset。此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。 ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。 ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。 除了这些公共方法外,SqlHelper 类还包含一些专用函数,用于管理参数和准备要执行的命令。不管客户端调用什么样的方法实现,所有命令都通过 SqlCommand 对象来执行。在 SqlCommand 对象能够被执行之前,所有参数都必须添加到 Parameters 集合中,并且必须正确设置 Connection、CommandType、CommandText 和 Transaction 属性。SqlHelper 类中的专用函数主要用于提供一种一致的方式,以便向 SQL Server 数据库发出命令,而不考虑客户端应用程序调用的重载方法实现。SqlHelper 类中的专用实用程序函数包括: AttachParameters:该函数用于将所有必要的 SqlParameter 对象连接到正在运行的 SqlCommand。 AssignParameterValues:该函数用于为 SqlParameter 对象赋值。 PrepareCommand:该函数用于对命令的属性(如连接、事务环境等)进行初始化。 ExecuteReader:此专用 ExecuteReader 实现用于通过适当的 CommandBehavior 打开 SqlDataReader 对象,以便最有效地管理与阅读器关联的连接的有效期。 SqlHelperParameterCache 类实现详细信息 参数数组缓存在专用 Hashtable 中。从缓存中检索的参数进行内部复制,这样客户端应用程序能够更改参数值以及进行其他操作,而不会影响缓存的参数数组。专用共享函数 CloneParameters 可以实现此目的。 常见问题 此版本包含哪些新增功能? 与 Data Access Application Block Beta 2.0 版本相比,该 RTM 版本包含以下新增功能和变化: SqlHelper 类方法的事务型重载不再需要 SqlConnection 参数。在此版本中,连接信息从 SqlTransaction 对象中派生,因此不必在方法签名中包含 SqlConnection 对象参数。 现在,GetSpParameterSet 方法使用 ADO.NET CommandBuilder 类的 DeriveParameters 方法来确定存储过程所需要的参数。这比 Beta 2.0 版本中直接通过查询数据库来检索信息的效率更高。 可以使用 XCOPY 部署方法来部署 Data Access Application Block 程序集吗? 可以。Microsoft.ApplicationBlocks.Data.dll 程序集在编译后可以使用 XCOPY 进行部署。 什么时候应该使用 ExecuteDataset 方法,什么时候应该使用 ExecuteReader 方法? 这个问题实际上是什么时候应该返回 DataSet 对象中的多个数据行,什么时候应该使用 DataReader。答案取决于您的应用程序的特定需要,以及您在灵活性和原始性能之间的取舍。DataSet 为您提供数据的灵活的且断开连接的关系视图,而 DataReader 为您提供性能卓越的、只读的、仅向前光标。有关 DataSet 和 DataReader 的全面比较,请参阅 asp">Data Access Architecture Guide(英文)。 如何使用 ExecuteDataset 返回包含多个表的数据集? 通过创建一个可以返回多个行集的存储过程(通过执行多个 SELECT 语句或者对其他存储过程进行嵌套调用),并使用 ExecuteDataset 方法执行该过程,您可以检索包含多个表的数据集。 例如,假设您的数据库包含以下存储过程。 CREATE PROCEDURE GetCategories AS SELECT * FROM Categories GO CREATE PROCEDURE GetProducts AS SELECT * FROM Products 您可以创建一个主存储过程来对这些过程进行嵌套调用,如下面的代码示例所示。 CREATE PROCEDURE GetCategoriesAndProducts AS BEGIN EXEC GetCategories EXEC GetProducts END 使用 ExecuteDataset 方法执行此主存储过程将返回一个 DateSet,其中包含两个表:一个表包含分类数据,另一个表包含产品数据。 注意: ExecuteDataset 方法不提供为返回的表指定自定义名称的方法。第一个表的编号始终为 0,名称为 Table,第二个表的编号为 1,名称为 Table1,依此类推。.net数据访问类 SQL Helper 介绍 摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以在自己的 .NET 应用程序中将其作为构造块来使用,以减少需要创建、测试和维护的自定义代码的数量。您可以下载完整的 C# 和 Visual Basic .NET 源代码以及综合文档。 简介 您是否正在从事 .NET 应用程序数据访问代码的设计和开发?您是否觉得自己总是在反复编写相同的数据访问代码?您是否曾经将数据访问代码包装在 Helper 函数中,以便能够在一行中调用存储过程?如果是,那么 Microsoft® Data Access Application Block for .NET 正是为您设计的。 Data Access Application Block 将访问 Microsoft SQL Server™ 数据库的性能和资源管理方面的最佳经验封装在一起。您可以很方便地在自己的 .NET 应用程序中将其作为构造块使用,从页减少了需要创建、测试和维护的自定义代码的数量。 尤其是,Data Access Application Block 可以帮助您: 调用存储过程或 SQL 文本命令。 指定参数详细信息。 返回 SqlDataReader、DataSet 或 XmlReader 对象。 例如,在引用了 Data Access Application Block 的应用程序中,您可以简单地在一行代码中调用存储过程并生成 DataSet,如下所示: [C#] DataSet ds = SqlHelper.ExecuteDataset( connectionString, CommandType.StoredProcedure, "getProductsByCategory", new SqlParameter("@CategoryID", categoryID)); 注意: Application Block for .NET(用于 .NET 的应用程序块)是基于对成功的 .NET 应用程序进行详细研究而设计的。它以源代码的形式提供,您可以原样使用,也可以针对自己的应用程序进行自定义。该应用程序块并不代表未来 Microsoft ADO.NET 程序库的发展方向。Microsoft ADO.NET 程序库是为在各种使用情况下实现对数据访问行为的精确控制而建立的。将来的 ADO.NET 版本可能会使用不同的模型来实现这个方案 SqlHelper 类提供了一组静态方法,可以用来向 SQL Server 数据库发出许多各种不同类型的命令。 SqlHelperParameterCache 类提供命令参数缓存功能,可以用来提高性能。该类由许多 Execute 方法(尤其是那些只运行存储过程的重写方法)在内部使用。数据访问客户端也可以直接使用它来缓存特定命令的特定参数集。 使用 SqlHelper 类执行命令 SqlHelper 类提供了五种 Shared (Visual Basic) 或 static (C#) 方法,它们是:ExecuteNonQuery、ExecuteDataset、ExecuteReader、ExecuteScalar 和 ExecuteXmlReader。实现的每种方法都提供一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。类中实现的所有方法都支持以下重载: [C#] Execute* (SqlConnection connection, CommandType commandType, string commandText) Execute* (SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (SqlConnection connection, string spName, params object[] parameterValues) Execute* (SqlConnection connection, CommandType commandType, string commandText) Execute* (SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (SqlConnection connection, string spName, params object[] parameterValues) 除这些重载以外,除 ExecuteXmlReader 之外的其他方法还提供了另一种重载:允许将连接信息作为连接字符串而不是连接对象来传递,如下面的方法签名所示: [Visual Basic] Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String) Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String, _ ByVal ParamArray commandParameters() As SqlParameter) Execute* (ByVal connectionString As String, _ ByVal spName As String, _ ByVal ParamArray parameterValues() As Object) [C#] Execute* (string connectionString, CommandType commandType, string commandText) Execute* (string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) Execute* (string connectionString, string spName, params object[] parameterValues) 注意: ExecuteXmlReader 不支持连接字符串,因为:与 SqlDataReader 对象不同,XmlReader 对象在 XmlReader 关闭时没有提供自动关闭连接的方法。如果客户端传递了连接字符串,那么当客户端完成对 XmlReader 的操作后,将无法关闭与 XmlReader 相关联的连接对象。 通过参考 Data Access Application Block 程序集并导入 Microsoft.ApplicationBlocks.Data 命名空间,您可以轻松编写使用任何一种 SqlHelper 类方法的代码,如下面的代码示例所示: [Visual Basic] Imports Microsoft.ApplicationBlocks.Data [C#] using Microsoft.ApplicationBlocks.Data; 导入命名空间后,您可以调用任何 Execute* 方法,如下面的代码示例所示: [Visual Basic] Dim ds As DataSet = SqlHelper.ExecuteDataset( _ "SERVER=(local);DATABASE=Northwind;INTEGRATED SECURITY=True;", _ CommandType.Text, "SELECT * FROM Products") [C#] DataSet ds = SqlHelper.ExecuteDataset( "SERVER=DataServer;DATABASE=Northwind;INTEGRATED SECURITY=sspi;", _ CommandType.Text, "SELECT * FROM Products"); 使用 SqlHelperParameterCache 类管理参数 SqlHelperParameterCache 类提供了三种可以用来管理参数的公共共享方法。它们是: CacheParameterSet。用于将 SqlParameters 数组存储到缓存中。 GetCachedParameterSet。用于检索缓存的参数数组的副本。 GetSpParameterSet。一种重载方法,用于检索指定存储过程的相应参数(首先查询一次数据库,然后缓存结果以便将来查询)。 缓存和检索参数 通过使用 CacheParameterSet 方法,可以缓存 SqlParameter 对象数组。此方法通过将连接字符串和命令文本连接起来创建一个键,然后将参数数组存储在 Hashtable 中。 要从缓存中检索参数,请使用 GetCachedParameterSet 方法。此方法将返回一个 SqlParameter 对象数组,这些对象已使用缓存(与传递给该方法的连接字符串和命令文本相对应)中的参数的名称、值、方向和数据类型等进行了初始化。 注意: 用作参数集的键的连接字符串通过简单的字符串比较进行匹配。用于从 GetCachedParameterSet 中检索参数的连接字符串必须与用来通过 CacheParameterSet 来存储这些参数的连接字符串完全相同。语法不同的连接字符串即使语义相同,也不会被认为是匹配的。 以下代码显示了如何使用 SqlHelperParameterCache 类来缓存和检索 Transact-SQL 语句的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim sql As String = _ "SELECT ProductName FROM Products " + _ "WHERE Category=@Cat AND SupplierID = @Sup" 缓存参数 Dim paramsToStore(1) As SqlParameter paramsToStore(0) = New SqlParameter("@Cat", SqlDbType.Int) paramsToStore(1) = New SqlParameter("@Sup", SqlDbType.Int) SqlHelperParameterCache.CacheParameterSet(CONN_STRING, _ sql, _ paramsToStore) 从缓存中检索参数 Dim storedParams(1) As SqlParameter storedParams = SqlHelperParameterCache.GetCachedParameterSet( _ CONN_STRING, sql) storedParams(0).Value = 2 storedParams(1).Value = 3 在命令中使用参数 Dim ds As DataSet ds = SqlHelper.ExecuteDataset(CONN_STRING, _ CommandType.Text, _ sql, storedParams) [C#] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SELECT ProductName FROM Products " + "WHERE Category=@Cat AND SupplierID = @Sup"; // 缓存参数 SqlParameter[] paramsToStore = new SqlParameter[2]; paramsToStore[0] = New SqlParameter("@Cat", SqlDbType.Int); paramsToStore[1] = New SqlParameter("@Sup", SqlDbType.Int); SqlHelperParameterCache.CacheParameterSet(CONN_STRING, sql, paramsToStore); // 从缓存中检索参数 SqlParameter storedParams = new SqlParameter[2]; storedParams = SqlHelperParameterCache.GetCachedParameterSet( CONN_STRING, sql); storedParams(0).Value = 2; storedParams(1).Value = 3; // 在命令中使用参数 DataSet ds; ds = SqlHelper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure, sql, storedParams); 检索存储过程参数 SqlHelperParameterCache 还提供了针对特定存储过程检索参数数组的方法。一种名为 GetSpParameterSet 的重载方法提供了此功能,它包含两种实现。该方法尝试从缓存中检索特定存储过程的参数。如果这些参数尚未被缓存,则使用 .NET 的 SqlCommandBuilder 类从内部检索,并将它们添加到缓存中,以便用于后续的检索请求。然后,为每个参数指定相应的参数设置,最后将这些参数以数组形式返回给客户端。以下代码显示了如何检索 Northwind 数据库中 SalesByCategory 存储过程的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim spName As String = "SalesByCategory" 检索参数 Dim storedParams(1) As SqlParameter storedParams = SqlHelperParameterCache.GetSpParameterSet( _ CONN_STRING, spName) storedParams(0).Value = "Beverages" storedParams(1).Value = "1997" 在命令中使用参数 Dim ds As DataSet ds = SqlHelper.ExecuteDataset(CONN_STRING, _ CommandType.StoredProcedure, _ spName, storedParams) [C#] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SalesByCategory"; // 检索参数 SqlParameter storedParams = new SqlParameter[2]; storedParams = SqlHelperParameterCache.GetSpParameterSet( CONN_STRING, spName); storedParams[0].Value = "Beverages"; storedParams[1].Value = "1997"; // 在命令中使用参数 DataSet ds; ds = SqlHelper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure, spName, storedParams); 内部设计 Data Access Application Block 包含了完整的源代码和有关其设计的综合指南。本节介绍有关主要实现的详细信息。 SqlHelper 类实现详细信息 SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。在 SqlHelper 类中实现的方法包括: ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。 ExecuteReader。此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。 ExecuteDataset。此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。 ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。 ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。 除了这些公共方法外,SqlHelper 类还包含一些专用函数,用于管理参数和准备要执行的命令。不管客户端调用什么样的方法实现,所有命令都通过 SqlCommand 对象来执行。在 SqlCommand 对象能够被执行之前,所有参数都必须添加到 Parameters 集合中,并且必须正确设置 Connection、CommandType、CommandText 和 Transaction 属性。SqlHelper 类中的专用函数主要用于提供一种一致的方式,以便向 SQL Server 数据库发出命令,而不考虑客户端应用程序调用的重载方法实现。SqlHelper 类中的专用实用程序函数包括: AttachParameters:该函数用于将所有必要的 SqlParameter 对象连接到正在运行的 SqlCommand。 AssignParameterValues:该函数用于为 SqlParameter 对象赋值。 PrepareCommand:该函数用于对命令的属性(如连接、事务环境等)进行初始化。 ExecuteReader:此专用 ExecuteReader 实现用于通过适当的 CommandBehavior 打开 SqlDataReader 对象,以便最有效地管理与阅读器关联的连接的有效期。 SqlHelperParameterCache 类实现详细信息 参数数组缓存在专用 Hashtable 中。从缓存中检索的参数进行内部复制,这样客户端应用程序能够更改参数值以及进行其他操作,而不会影响缓存的参数数组。专用共享函数 CloneParameters 可以实现此目的。 常见问题 此版本包含哪些新增功能? 与 Data Access Application Block Beta 2.0 版本相比,该 RTM 版本包含以下新增功能和变化: SqlHelper 类方法的事务型重载不再需要 SqlConnection 参数。在此版本中,连接信息从 SqlTransaction 对象中派生,因此不必在方法签名中包含 SqlConnection 对象参数。 现在,GetSpParameterSet 方法使用 ADO.NET CommandBuilder 类的 DeriveParameters 方法来确定存储过程所需要的参数。这比 Beta 2.0 版本中直接通过查询数据库来检索信息的效率更高。 可以使用 XCOPY 部署方法来部署 Data Access Application Block 程序集吗? 可以。Microsoft.ApplicationBlocks.Data.dll 程序集在编译后可以使用 XCOPY 进行部署。 什么时候应该使用 ExecuteDataset 方法,什么时候应该使用 ExecuteReader 方法? 这个问题实际上是什么时候应该返回 DataSet 对象中的多个数据行,什么时候应该使用 DataReader。答案取决于您的应用程序的特定需要,以及您在灵活性和原始性能之间的取舍。DataSet 为您提供数据的灵活的且断开连接的关系视图,而 DataReader 为您提供性能卓越的、只读的、仅向前光标。有关 DataSet 和 DataReader 的全面比较,请参阅 asp">Data Access Architecture Guide(英文)。 如何使用 ExecuteDataset 返回包含多个表的数据集? 通过创建一个可以返回多个行集的存储过程(通过执行多个 SELECT 语句或者对其他存储过程进行嵌套调用),并使用 ExecuteDataset 方法执行该过程,您可以检索包含多个表的数据集。 例如,假设您的数据库包含以下存储过程。 CREATE PROCEDURE GetCategories AS SELECT * FROM Categories GO CREATE PROCEDURE GetProducts AS SELECT * FROM Products 您可以创建一个主存储过程来对这些过程进行嵌套调用,如下面的代码示例所示。 CREATE PROCEDURE GetCategoriesAndProducts AS BEGIN EXEC GetCategories EXEC GetProducts END 使用 ExecuteDataset 方法执行此主存储过程将返回一个 DateSet,其中包含两个表:一个表包含分类数据,另一个表包含产品数据。 注意: ExecuteDataset 方法不提供为返回的表指定自定义名称的方法。第一个表的编号始终为 0,名称为 Table,第二个表的编号为 1,名称为 Table1,依此类推。5 223浏览会员免费
- 管理系统大小:711KBusing System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; namespace 教务管理系统 { public class ClassInfo : 医院管理系统.ParentForm { private System.Data.SqlClient.SqlCommand sqlSelectCommand1; private System.Data.SqlClient.SqlCommand sqlInsertCommand1; private System.Data.SqlClient.SqlCommand sqlUpdateCommand1; private System.Data.SqlClient.SqlCommand sqlDeleteCommand1; private System.Data.SqlClient.SqlConnection sqlConnection1; private 教务管理系统.DataSet1 dataSet11; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox txt4; private System.Windows.Forms.TextBox txt5; private System.Windows.Forms.TextBox txt6; private System.Windows.Forms.TextBox txt9; private System.Windows.Forms.TextBox txt8; private System.Windows.Forms.TextBox txt7; private System.ComponentModel.IContainer components = null; public ClassInfo() { // 该调用是 Windows 窗体设计器所必需的。 InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化 } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region 设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlConnection1 = new System.Data.SqlClient.SqlConnection(); this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand(); this.dataSet11 = new 教务管理系统.DataSet1(); this.label4 = new System.Windows.Forms.Label(); this.txt4 = new System.Windows.Forms.TextBox(); this.txt5 = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.txt6 = new System.Windows.Forms.TextBox(); this.txt9 = new System.Windows.Forms.TextBox(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.txt8 = new System.Windows.Forms.TextBox(); this.txt7 = new System.Windows.Forms.TextBox(); this.label9 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit(); this.groupBox2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit(); // // groupBox1 // this.groupBox1.Name = "groupBox1"; // // txt2 // this.txt2.Name = "txt2"; // // label1 // this.label1.Name = "label1"; this.label1.Text = "年级"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // btnSearch // this.btnSearch.Name = "btnSearch"; this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); // // txt1 // this.txt1.Name = "txt1"; // // label2 // this.label2.Name = "label2"; this.label2.Text = "班级编号"; // // txt3 // this.txt3.Name = "txt3"; // // label3 // this.label3.Name = "label3"; this.label3.Text = "班级名称"; // // toolBar1 // this.toolBar1.Name = "toolBar1"; this.toolBar1.Size = new System.Drawing.Size(728, 41); // // dataGrid1 // this.dataGrid1.DataMember = "班级信息"; this.dataGrid1.DataSource = this.dataSet11; this.dataGrid1.Name = "dataGrid1"; // // groupBox2 // this.groupBox2.Controls.Add(this.txt4); this.groupBox2.Controls.Add(this.label4); this.groupBox2.Controls.Add(this.txt5); this.groupBox2.Controls.Add(this.label5); this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.txt6); this.groupBox2.Controls.Add(this.txt9); this.groupBox2.Controls.Add(this.label7); this.groupBox2.Controls.Add(this.label8); this.groupBox2.Controls.Add(this.txt8); this.groupBox2.Controls.Add(this.txt7); this.groupBox2.Controls.Add(this.label9); this.groupBox2.Name = "groupBox2"; // // da1 // this.da1.DeleteCommand = this.sqlDeleteCommand1; this.da1.InsertCommand = this.sqlInsertCommand1; this.da1.SelectCommand = this.sqlSelectCommand1; this.da1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "班级信息", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("班级编号", "班级编号"), new System.Data.Common.DataColumnMapping("年级", "年级"), new System.Data.Common.DataColumnMapping("班级名称", "班级名称"), new System.Data.Common.DataColumnMapping("班级简称", "班级简称"), new System.Data.Common.DataColumnMapping("人数", "人数"), new System.Data.Common.DataColumnMapping("班主任", "班主任")})}); this.da1.UpdateCommand = this.sqlUpdateCommand1; // // sqlSelectCommand1 // this.sqlSelectCommand1.CommandText = "SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 LIKE @Param4) AND (年级 " + "LIKE @Param5) AND (班级名称 LIKE @Param6)"; this.sqlSelectCommand1.Connection = this.sqlConnection1; this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param4", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param5", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param6", System.Data.SqlDbType.VarChar, 30, "班级名称")); // // sqlConnection1 // this.sqlConnection1.ConnectionString = "workstation id=localhost;packet size=4096;integrated security=SSPI;data source=\"." + "\";persist security info=False;initial catalog=eisbook"; // // sqlInsertCommand1 // this.sqlInsertCommand1.CommandText = "INSERT INTO 班级信息(班级编号, 年级, 班级名称, 班级简称, 人数, 班主任) VALUES (@班级编号, @年级, @班级名称, @班级简称," + " @人数, @班主任); SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 = @班级编号)" + ""; this.sqlInsertCommand1.Connection = this.sqlConnection1; this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级编号", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@年级", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级名称", System.Data.SqlDbType.VarChar, 30, "班级名称")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级简称", System.Data.SqlDbType.VarChar, 16, "班级简称")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Current, null)); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班主任", System.Data.SqlDbType.VarChar, 8, "班主任")); // // sqlUpdateCommand1 // this.sqlUpdateCommand1.CommandText = @"UPDATE 班级信息 SET 班级编号 = @班级编号, 年级 = @年级, 班级名称 = @班级名称, 班级简称 = @班级简称, 人数 = @人数, 班主任 = @班主任 WHERE (班级编号 = @Original_班级编号) AND (人数 = @Original_人数 OR @Original_人数 IS NULL AND 人数 IS NULL) AND (年级 = @Original_年级 OR @Original_年级 IS NULL AND 年级 IS NULL) AND (班主任 = @Original_班主任 OR @Original_班主任 IS NULL AND 班主任 IS NULL) AND (班级名称 = @Original_班级名称 OR @Original_班级名称 IS NULL AND 班级名称 IS NULL) AND (班级简称 = @Original_班级简称 OR @Original_班级简称 IS NULL AND 班级简称 IS NULL); SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 = @班级编号)"; this.sqlUpdateCommand1.Connection = this.sqlConnection1; this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级编号", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@年级", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级名称", System.Data.SqlDbType.VarChar, 30, "班级名称")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级简称", System.Data.SqlDbType.VarChar, 16, "班级简称")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Current, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班主任", System.Data.SqlDbType.VarChar, 8, "班主任")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级编号", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_年级", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "年级", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班主任", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班主任", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级名称", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级名称", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级简称", System.Data.SqlDbType.VarChar, 16, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级简称", System.Data.DataRowVersion.Original, null)); // // sqlDeleteCommand1 // this.sqlDeleteCommand1.CommandText = @"DELETE FROM 班级信息 WHERE (班级编号 = @Original_班级编号) AND (人数 = @Original_人数 OR @Original_人数 IS NULL AND 人数 IS NULL) AND (年级 = @Original_年级 OR @Original_年级 IS NULL AND 年级 IS NULL) AND (班主任 = @Original_班主任 OR @Original_班主任 IS NULL AND 班主任 IS NULL) AND (班级名称 = @Original_班级名称 OR @Original_班级名称 IS NULL AND 班级名称 IS NULL) AND (班级简称 = @Original_班级简称 OR @Original_班级简称 IS NULL AND 班级简称 IS NULL)"; this.sqlDeleteCommand1.Connection = this.sqlConnection1; this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级编号", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_年级", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "年级", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班主任", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班主任", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级名称", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级名称", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级简称", System.Data.SqlDbType.VarChar, 16, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级简称", System.Data.DataRowVersion.Original, null)); // // dataSet11 // this.dataSet11.DataSetName = "DataSet1"; this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN"); // // label4 // this.label4.Location = new System.Drawing.Point(64, 32); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(100, 16); this.label4.TabIndex = 0; this.label4.Text = "班级编号"; // // txt4 // this.txt4.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级编号")); this.txt4.Location = new System.Drawing.Point(64, 48); this.txt4.Name = "txt4"; this.txt4.ReadOnly = true; this.txt4.Size = new System.Drawing.Size(136, 21); this.txt4.TabIndex = 1; this.txt4.Text = ""; // // txt5 // this.txt5.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.年级")); this.txt5.Location = new System.Drawing.Point(232, 48); this.txt5.Name = "txt5"; this.txt5.ReadOnly = true; this.txt5.Size = new System.Drawing.Size(136, 21); this.txt5.TabIndex = 1; this.txt5.Text = ""; // // label5 // this.label5.Location = new System.Drawing.Point(232, 32); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(100, 16); this.label5.TabIndex = 0; this.label5.Text = "年级"; // // label6 // this.label6.Location = new System.Drawing.Point(408, 32); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(100, 16); this.label6.TabIndex = 0; this.label6.Text = "班级名称"; // // txt6 // this.txt6.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级名称")); this.txt6.Location = new System.Drawing.Point(408, 48); this.txt6.Name = "txt6"; this.txt6.ReadOnly = true; this.txt6.Size = new System.Drawing.Size(136, 21); this.txt6.TabIndex = 1; this.txt6.Text = ""; // // txt9 // this.txt9.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班主任")); this.txt9.Location = new System.Drawing.Point(408, 96); this.txt9.Name = "txt9"; this.txt9.ReadOnly = true; this.txt9.Size = new System.Drawing.Size(136, 21); this.txt9.TabIndex = 1; this.txt9.Text = ""; // // label7 // this.label7.Location = new System.Drawing.Point(408, 80); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(100, 16); this.label7.TabIndex = 0; this.label7.Text = "班主任"; // // label8 // this.label8.Location = new System.Drawing.Point(232, 80); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(100, 16); this.label8.TabIndex = 0; this.label8.Text = "人数"; // // txt8 // this.txt8.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级简称")); this.txt8.Location = new System.Drawing.Point(232, 96); this.txt8.Name = "txt8"; this.txt8.ReadOnly = true; this.txt8.Size = new System.Drawing.Size(136, 21); this.txt8.TabIndex = 1; this.txt8.Text = ""; // // txt7 // this.txt7.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级简称")); this.txt7.Location = new System.Drawing.Point(64, 96); this.txt7.Name = "txt7"; this.txt7.ReadOnly = true; this.txt7.Size = new System.Drawing.Size(136, 21); this.txt7.TabIndex = 1; this.txt7.Text = ""; // // label9 // this.label9.Location = new System.Drawing.Point(64, 80); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(100, 16); this.label9.TabIndex = 0; this.label9.Text = "班级简称"; // // ClassInfo // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(728, 502); this.Name = "ClassInfo"; this.Text = "【班级信息维护】"; this.Load += new System.EventHandler(this.ClassInfo_Load); ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit(); this.groupBox2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit(); } #endregion //--------创建窗体时,读入数据------- private void ClassInfo_Load(object sender, System.EventArgs e) { da1.SelectCommand.Parameters[0].Value="%"; da1.SelectCommand.Parameters[1].Size=8;//4位年份输入 da1.SelectCommand.Parameters[1].Value="%"; da1.SelectCommand.Parameters[2].Value="%"; da1.Fill(dataSet11); //设置数据导航控件 this.cmOrders=(CurrencyManager) BindingContext[dataSet11,"班级信息"]; //将基类中的数据集与派生类中的数据集连接 base.dataSet11=this.dataSet11; } //-----------根据输入,检索信息---------- private void btnSearch_Click(object sender, System.EventArgs e) { da1.SelectCommand.Parameters[0].Value="%"; da1.SelectCommand.Parameters[1].Value="%"; da1.SelectCommand.Parameters[2].Value="%"; if(txt1.Text.Trim()!="") { da1.SelectCommand.Parameters[0].Value="%"+txt1.Text.Trim()+"%"; } if(txt2.Text.Trim()!="") { da1.SelectCommand.Parameters[1].Value="%"+txt2.Text.Trim()+"%"; } if(txt3.Text.Trim()!="") { da1.SelectCommand.Parameters[2].Value="%"+txt3.Text.Trim()+"%"; } dataSet11.Clear();//刷新数据集 da1.Fill(dataSet11); } //----------重写设置控件只读属性函数---------- protected override void SetModifyMode(bool blnEdit) { base.SetModifyMode (blnEdit); txt4.ReadOnly=!blnEdit; txt5.ReadOnly=!blnEdit; txt6.ReadOnly=!blnEdit; txt7.ReadOnly=!blnEdit; txt8.ReadOnly=!blnEdit; txt9.ReadOnly=!blnEdit; } //-------重写新增记录时设置默认值函数-------- protected override void SetDefaultValue() { base.SetDefaultValue (); } //-------重写检查非空字段函数-------- protected override bool CheckNotNull() { if(txt4.Text.Trim()=="")// 班级编号不能为空 { MessageBox.Show("班级编号不能为空","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop); return(false); } return base.CheckNotNull (); } } }using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; namespace 教务管理系统 { public class ClassInfo : 医院管理系统.ParentForm { private System.Data.SqlClient.SqlCommand sqlSelectCommand1; private System.Data.SqlClient.SqlCommand sqlInsertCommand1; private System.Data.SqlClient.SqlCommand sqlUpdateCommand1; private System.Data.SqlClient.SqlCommand sqlDeleteCommand1; private System.Data.SqlClient.SqlConnection sqlConnection1; private 教务管理系统.DataSet1 dataSet11; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox txt4; private System.Windows.Forms.TextBox txt5; private System.Windows.Forms.TextBox txt6; private System.Windows.Forms.TextBox txt9; private System.Windows.Forms.TextBox txt8; private System.Windows.Forms.TextBox txt7; private System.ComponentModel.IContainer components = null; public ClassInfo() { // 该调用是 Windows 窗体设计器所必需的。 InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化 } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region 设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlConnection1 = new System.Data.SqlClient.SqlConnection(); this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand(); this.dataSet11 = new 教务管理系统.DataSet1(); this.label4 = new System.Windows.Forms.Label(); this.txt4 = new System.Windows.Forms.TextBox(); this.txt5 = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.txt6 = new System.Windows.Forms.TextBox(); this.txt9 = new System.Windows.Forms.TextBox(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.txt8 = new System.Windows.Forms.TextBox(); this.txt7 = new System.Windows.Forms.TextBox(); this.label9 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit(); this.groupBox2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit(); // // groupBox1 // this.groupBox1.Name = "groupBox1"; // // txt2 // this.txt2.Name = "txt2"; // // label1 // this.label1.Name = "label1"; this.label1.Text = "年级"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // btnSearch // this.btnSearch.Name = "btnSearch"; this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); // // txt1 // this.txt1.Name = "txt1"; // // label2 // this.label2.Name = "label2"; this.label2.Text = "班级编号"; // // txt3 // this.txt3.Name = "txt3"; // // label3 // this.label3.Name = "label3"; this.label3.Text = "班级名称"; // // toolBar1 // this.toolBar1.Name = "toolBar1"; this.toolBar1.Size = new System.Drawing.Size(728, 41); // // dataGrid1 // this.dataGrid1.DataMember = "班级信息"; this.dataGrid1.DataSource = this.dataSet11; this.dataGrid1.Name = "dataGrid1"; // // groupBox2 // this.groupBox2.Controls.Add(this.txt4); this.groupBox2.Controls.Add(this.label4); this.groupBox2.Controls.Add(this.txt5); this.groupBox2.Controls.Add(this.label5); this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.txt6); this.groupBox2.Controls.Add(this.txt9); this.groupBox2.Controls.Add(this.label7); this.groupBox2.Controls.Add(this.label8); this.groupBox2.Controls.Add(this.txt8); this.groupBox2.Controls.Add(this.txt7); this.groupBox2.Controls.Add(this.label9); this.groupBox2.Name = "groupBox2"; // // da1 // this.da1.DeleteCommand = this.sqlDeleteCommand1; this.da1.InsertCommand = this.sqlInsertCommand1; this.da1.SelectCommand = this.sqlSelectCommand1; this.da1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "班级信息", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("班级编号", "班级编号"), new System.Data.Common.DataColumnMapping("年级", "年级"), new System.Data.Common.DataColumnMapping("班级名称", "班级名称"), new System.Data.Common.DataColumnMapping("班级简称", "班级简称"), new System.Data.Common.DataColumnMapping("人数", "人数"), new System.Data.Common.DataColumnMapping("班主任", "班主任")})}); this.da1.UpdateCommand = this.sqlUpdateCommand1; // // sqlSelectCommand1 // this.sqlSelectCommand1.CommandText = "SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 LIKE @Param4) AND (年级 " + "LIKE @Param5) AND (班级名称 LIKE @Param6)"; this.sqlSelectCommand1.Connection = this.sqlConnection1; this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param4", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param5", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param6", System.Data.SqlDbType.VarChar, 30, "班级名称")); // // sqlConnection1 // this.sqlConnection1.ConnectionString = "workstation id=localhost;packet size=4096;integrated security=SSPI;data source=\"." + "\";persist security info=False;initial catalog=eisbook"; // // sqlInsertCommand1 // this.sqlInsertCommand1.CommandText = "INSERT INTO 班级信息(班级编号, 年级, 班级名称, 班级简称, 人数, 班主任) VALUES (@班级编号, @年级, @班级名称, @班级简称," + " @人数, @班主任); SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 = @班级编号)" + ""; this.sqlInsertCommand1.Connection = this.sqlConnection1; this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级编号", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@年级", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级名称", System.Data.SqlDbType.VarChar, 30, "班级名称")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级简称", System.Data.SqlDbType.VarChar, 16, "班级简称")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Current, null)); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班主任", System.Data.SqlDbType.VarChar, 8, "班主任")); // // sqlUpdateCommand1 // this.sqlUpdateCommand1.CommandText = @"UPDATE 班级信息 SET 班级编号 = @班级编号, 年级 = @年级, 班级名称 = @班级名称, 班级简称 = @班级简称, 人数 = @人数, 班主任 = @班主任 WHERE (班级编号 = @Original_班级编号) AND (人数 = @Original_人数 OR @Original_人数 IS NULL AND 人数 IS NULL) AND (年级 = @Original_年级 OR @Original_年级 IS NULL AND 年级 IS NULL) AND (班主任 = @Original_班主任 OR @Original_班主任 IS NULL AND 班主任 IS NULL) AND (班级名称 = @Original_班级名称 OR @Original_班级名称 IS NULL AND 班级名称 IS NULL) AND (班级简称 = @Original_班级简称 OR @Original_班级简称 IS NULL AND 班级简称 IS NULL); SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE (班级编号 = @班级编号)"; this.sqlUpdateCommand1.Connection = this.sqlConnection1; this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级编号", System.Data.SqlDbType.VarChar, 14, "班级编号")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@年级", System.Data.SqlDbType.VarChar, 4, "年级")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级名称", System.Data.SqlDbType.VarChar, 30, "班级名称")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班级简称", System.Data.SqlDbType.VarChar, 16, "班级简称")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Current, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@班主任", System.Data.SqlDbType.VarChar, 8, "班主任")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级编号", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_年级", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "年级", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班主任", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班主任", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级名称", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级名称", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级简称", System.Data.SqlDbType.VarChar, 16, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级简称", System.Data.DataRowVersion.Original, null)); // // sqlDeleteCommand1 // this.sqlDeleteCommand1.CommandText = @"DELETE FROM 班级信息 WHERE (班级编号 = @Original_班级编号) AND (人数 = @Original_人数 OR @Original_人数 IS NULL AND 人数 IS NULL) AND (年级 = @Original_年级 OR @Original_年级 IS NULL AND 年级 IS NULL) AND (班主任 = @Original_班主任 OR @Original_班主任 IS NULL AND 班主任 IS NULL) AND (班级名称 = @Original_班级名称 OR @Original_班级名称 IS NULL AND 班级名称 IS NULL) AND (班级简称 = @Original_班级简称 OR @Original_班级简称 IS NULL AND 班级简称 IS NULL)"; this.sqlDeleteCommand1.Connection = this.sqlConnection1; this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级编号", System.Data.SqlDbType.VarChar, 14, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级编号", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_人数", System.Data.SqlDbType.Decimal, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(3)), ((System.Byte)(0)), "人数", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_年级", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "年级", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班主任", System.Data.SqlDbType.VarChar, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班主任", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级名称", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级名称", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_班级简称", System.Data.SqlDbType.VarChar, 16, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "班级简称", System.Data.DataRowVersion.Original, null)); // // dataSet11 // this.dataSet11.DataSetName = "DataSet1"; this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN"); // // label4 // this.label4.Location = new System.Drawing.Point(64, 32); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(100, 16); this.label4.TabIndex = 0; this.label4.Text = "班级编号"; // // txt4 // this.txt4.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级编号")); this.txt4.Location = new System.Drawing.Point(64, 48); this.txt4.Name = "txt4"; this.txt4.ReadOnly = true; this.txt4.Size = new System.Drawing.Size(136, 21); this.txt4.TabIndex = 1; this.txt4.Text = ""; // // txt5 // this.txt5.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.年级")); this.txt5.Location = new System.Drawing.Point(232, 48); this.txt5.Name = "txt5"; this.txt5.ReadOnly = true; this.txt5.Size = new System.Drawing.Size(136, 21); this.txt5.TabIndex = 1; this.txt5.Text = ""; // // label5 // this.label5.Location = new System.Drawing.Point(232, 32); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(100, 16); this.label5.TabIndex = 0; this.label5.Text = "年级"; // // label6 // this.label6.Location = new System.Drawing.Point(408, 32); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(100, 16); this.label6.TabIndex = 0; this.label6.Text = "班级名称"; // // txt6 // this.txt6.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级名称")); this.txt6.Location = new System.Drawing.Point(408, 48); this.txt6.Name = "txt6"; this.txt6.ReadOnly = true; this.txt6.Size = new System.Drawing.Size(136, 21); this.txt6.TabIndex = 1; this.txt6.Text = ""; // // txt9 // this.txt9.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班主任")); this.txt9.Location = new System.Drawing.Point(408, 96); this.txt9.Name = "txt9"; this.txt9.ReadOnly = true; this.txt9.Size = new System.Drawing.Size(136, 21); this.txt9.TabIndex = 1; this.txt9.Text = ""; // // label7 // this.label7.Location = new System.Drawing.Point(408, 80); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(100, 16); this.label7.TabIndex = 0; this.label7.Text = "班主任"; // // label8 // this.label8.Location = new System.Drawing.Point(232, 80); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(100, 16); this.label8.TabIndex = 0; this.label8.Text = "人数"; // // txt8 // this.txt8.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级简称")); this.txt8.Location = new System.Drawing.Point(232, 96); this.txt8.Name = "txt8"; this.txt8.ReadOnly = true; this.txt8.Size = new System.Drawing.Size(136, 21); this.txt8.TabIndex = 1; this.txt8.Text = ""; // // txt7 // this.txt7.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "班级信息.班级简称")); this.txt7.Location = new System.Drawing.Point(64, 96); this.txt7.Name = "txt7"; this.txt7.ReadOnly = true; this.txt7.Size = new System.Drawing.Size(136, 21); this.txt7.TabIndex = 1; this.txt7.Text = ""; // // label9 // this.label9.Location = new System.Drawing.Point(64, 80); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(100, 16); this.label9.TabIndex = 0; this.label9.Text = "班级简称"; // // ClassInfo // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(728, 502); this.Name = "ClassInfo"; this.Text = "【班级信息维护】"; this.Load += new System.EventHandler(this.ClassInfo_Load); ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit(); this.groupBox2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit(); } #endregion //--------创建窗体时,读入数据------- private void ClassInfo_Load(object sender, System.EventArgs e) { da1.SelectCommand.Parameters[0].Value="%"; da1.SelectCommand.Parameters[1].Size=8;//4位年份输入 da1.SelectCommand.Parameters[1].Value="%"; da1.SelectCommand.Parameters[2].Value="%"; da1.Fill(dataSet11); //设置数据导航控件 this.cmOrders=(CurrencyManager) BindingContext[dataSet11,"班级信息"]; //将基类中的数据集与派生类中的数据集连接 base.dataSet11=this.dataSet11; } //-----------根据输入,检索信息---------- private void btnSearch_Click(object sender, System.EventArgs e) { da1.SelectCommand.Parameters[0].Value="%"; da1.SelectCommand.Parameters[1].Value="%"; da1.SelectCommand.Parameters[2].Value="%"; if(txt1.Text.Trim()!="") { da1.SelectCommand.Parameters[0].Value="%"+txt1.Text.Trim()+"%"; } if(txt2.Text.Trim()!="") { da1.SelectCommand.Parameters[1].Value="%"+txt2.Text.Trim()+"%"; } if(txt3.Text.Trim()!="") { da1.SelectCommand.Parameters[2].Value="%"+txt3.Text.Trim()+"%"; } dataSet11.Clear();//刷新数据集 da1.Fill(dataSet11); } //----------重写设置控件只读属性函数---------- protected override void SetModifyMode(bool blnEdit) { base.SetModifyMode (blnEdit); txt4.ReadOnly=!blnEdit; txt5.ReadOnly=!blnEdit; txt6.ReadOnly=!blnEdit; txt7.ReadOnly=!blnEdit; txt8.ReadOnly=!blnEdit; txt9.ReadOnly=!blnEdit; } //-------重写新增记录时设置默认值函数-------- protected override void SetDefaultValue() { base.SetDefaultValue (); } //-------重写检查非空字段函数-------- protected override bool CheckNotNull() { if(txt4.Text.Trim()=="")// 班级编号不能为空 { MessageBox.Show("班级编号不能为空","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop); return(false); } return base.CheckNotNull (); } } }4 487浏览会员免费
- FCN大小:31MBhttp://blog.csdn.net/muyouhang/article/details/53608928 中使用的数据集。caffe 图像分割实验http://blog.csdn.net/muyouhang/article/details/53608928 中使用的数据集。caffe 图像分割实验4 651浏览会员免费
- 变电站大小:63MB真实场景下的仪表图像,只能用与做目标检测,需要自己标注,3000张真实场景下的仪表图像,只能用与做目标检测,需要自己标注,3000张1 2257浏览会员免费
- 跌倒检测大小:65MB跌倒检测数据集,1440张标注好的图片,可直接拿来训练跌倒检测数据集,1440张标注好的图片,可直接拿来训练0 2117浏览会员免费
- R语言大小:4KB针对《R语言与网站分析》一书未提供数据集和源代码的情况,自己动手整理了一个可用于其中分类算法的数据集,并且基于该数据集实现了朴素贝叶斯、SVM和人工神经网络等分类算法。附件中数据集、源程序和简要的说明文档。 详细说明可参考:http://blog.csdn.net/elecjack/article/details/50726686针对《R语言与网站分析》一书未提供数据集和源代码的情况,自己动手整理了一个可用于其中分类算法的数据集,并且基于该数据集实现了朴素贝叶斯、SVM和人工神经网络等分类算法。附件中数据集、源程序和简要的说明文档。 详细说明可参考:http://blog.csdn.net/elecjack/article/details/507266863 0浏览会员免费
- KNN大小:6KBKNN分类器实现人脸识别,数据集为ORL,40个人,每人10个图片KNN分类器实现人脸识别,数据集为ORL,40个人,每人10个图片4 1302浏览会员免费
- SharePoint大小:19MB文件较大,所以分卷。SharePoint.Server.2007宝典.part02 目录 第1部分 开始使用SharePoint 第1章 SharePoint产品和技术简介 3 1.1 探索Microsoft Office SharePoint Server 2007 3 1.2 比较Microsoft SharePoint Portal Server 2003和MOSS 2007 5 1.3 在MOSS和WSS之间选择 6 1.3.1 MOSS和WSS对比 6 1.3.2 考虑组织的规模 8 1.3.3 满足需求 8 1.4 小结 9 第2章 安装SharePoint 10 2.1 规划SharePoint部署 10 2.1.1 选择共享服务的角色 10 2.1.2 定义SharePoint场的拓扑 11 2.1.3 考虑管理员安全需求 13 2.1.4 与网络基础设施的集成 13 2.2 安装SharePoint场组件 14 2.2.1 安装必备组件 14 2.2.2 安装SharePoint 16 2.3 完成安装后的配置 18 2.3.1 管理中心配置 18 2.3.2 创建共享服务提供程序 22 2.4 创建顶级网站 23 2.4.1 在WSS安装中创建第一个网站 24 2.4.2 创建第一个MOSS网站 24 2.5 配置网站 25 2.6 小结 26 第3章 使用网站和页面 27 3.1 设计网站结构 27 3.1.1 定义与网站有关的术语 28 3.1.2 规划顶级网站 28 3.1.3 定义网站集和网站维护策略 29 3.2 使用网站模板 31 3.2.1 使用协作模板 31 3.2.2 使用发布模板 35 3.2.3 使用会议模板 37 3.2.4 使用企业网站模板 40 3.2.5 创建自定义网站模板 43 3.3 实现网站结构 44 3.3.1 创建根网站 44 3.3.2 实现友好名称 45 3.3.3 实现导航 45 3.3.4 开启网站功能 47 3.4 使用页面和页面库 47 3.4.1 修改内容类型 48 3.4.2 修改页面布局 49 3.5 小结 52 第4章 使用列表和库 53 4.1 实现SharePoint列表和库 53 4.1.1 使用SharePoint列表模板 53 4.1.2 创建自定义SharePoint列表 56 4.1.3 配置列表设置和库设置 58 4.1.4 使用文件夹组织内容 62 4.2 自定义列表和库 63 4.2.1 实现自定义栏 64 4.2.2 创建查阅列表 66 4.2.3 配置列表和库项目的安全性 67 4.3 创建视图 68 4.3.1 选择视图类型 68 4.3.2 配置视图设置 69 4.3.3 选择和修改视图 73 4.4 使用列表Web部件 73 4.4.1 添加列表Web部件 73 4.4.2 修改列表Web部件视图 75 4.4.3 连接Web部件 76 4.5 小结 77 第5章 使用和自定义Web部件 78 5.1 探索Web部件 78 5.2 使用Web部件 79 5.2.1 将Web部件添加到Web部件页面 80 5.2.2 从Web部件网页关闭或删除Web部件 82 5.2.3 配置Web部件 84 5.2.4 连接Web部件 86 5.3 了解Web部件库 88 5.3.1 和WSS v3一样的Web部件 88 5.3.2 特定于MOSS 2007的Web部件 94 5.4 管理Web部件 102 5.4.1 将Web部件添加到Web部件库 102 5.4.2 将Web部件部署到服务器Web部件库 102 5.4.3 将Web部件部署到网站Web部件库 103 5.4.4 从库中删除Web部件 103 5.4.5 导出和导入Web部件 103 5.5 小结 104 第2部分 配置SharePoint服务器 第6章 使用个性化功能 107 6.1 定义个性化功能 107 6.1.1 创建用户配置文件 108 6.1.2 目标访问群体 109 6.1.3 探索“我的网站” 110 6.1.4 使用个性化网站 112 6.2 设计用户配置文件和成员资格 113 6.2.1 确定用户配置文件字段 113 6.2.2 在用户配置文件属性和目录服务之间建立映射 115 6.2.3 设计访问群体 119 6.2.4 使用按访问群体筛选的Web部件 122 6.2.5 管理成员资格 122 6.3 管理个性化功能 123 6.3.1 管理用户配置文件和属性 123 6.3.2 设置配置文件服务策略 127 6.3.3 配置“我的网站”设置 130 6.3.4 配置“受信任的我的网站宿主位置” 131 6.3.5 创建Office客户端应用程序的已发布链接 132 6.3.6 配置个性化链接 132 6.3.7 设置个性化服务权限 132 6.4 管理“我的网站” 133 6.5 搜索人员 134 6.6 小结 135 第7章 搜索和获取内容 136 7.1 配置和维护搜索与索引组件 136 7.1.1 编制内容索引 137 7.1.2 配置服务器场的搜索 140 7.1.3 配置搜索范围 141 7.2 搜索结果调优 144 7.2.1 配置相关性设置以区分内容的优先级 144 7.2.2 使用托管属性 145 7.2.3 实现关键字 146 7.3 自定义搜索中心 147 7.4 查找有通知的内容 150 7.5 小结 150 第8章 工作流和流程改进 151 8.1 Microsoft Office工作流环境 151 8.1.1 Windows工作流基础 152 8.1.2 Windows SharePoint Services 153 8.2 创建基本工作流 153 8.2.1 WSS自带的工作流 153 8.2.2 MOSS自带的工作流 156 8.3 使用Office SharePoint Designer 157 8.4 使用Visual Studio和InfoPath创建高级工作流解决方案 161 8.5 小结 181 第9章 扩展Office服务器 182 9.1 为Office服务器开发功能 182 9.1.1 创建feature.xml文件 183 9.1.2 使用元素类型 185 9.2 安装和激活功能定义 197 9.2.1 安装功能 197 9.2.2 激活/停用功能 198 9.3 优化Excel Services 199 9.3.1 配置Excel Services设置 200 9.3.2 添加受信任文件位置 201 9.3.3 定义受信任数据连接库 202 9.3.4 配置受信任数据提供程序 203 9.3.5 添加用户定义的函数集 204 9.4 小结 205 第10章 保护Office服务器 206 10.1 保护服务器和服务器场 206 10.2 保护客户端通信 212 10.2.1 验证 212 10.2.2 基于表单的验证 213 10.3 保护内容 223 10.3.1 工作组协作 223 10.3.2 保护匿名内容 224 10.3.3 企业门户/内部网安全性 224 10.3.4 配置列表项目和库项目的安全性 229 10.4 小结 230 第3部分 使用SharePoint进行内容管理 第11章 管理Web内容 233 11.1 设计网页 233 11.1.1 使用母版页 234 11.1.2 修改母版页 234 11.1.3 探索页面布局 236 11.2 实现Web内容工作流 242 11.2.1 使用审批工作流 243 11.2.2 在服务器之间部署内容 246 11.2.3 使用网站变体和语言翻译 248 11.3 使用文档转换 250 11.4 管理网站 252 11.4.1 审核活动 253 11.4.2 配置网站使用率分析报告 254 11.4.3 扩展配额 255 11.4.4 删除未使用的网站 256 11.5 配置移动访问 258 11.6 小结 258 第12章 实现记录管理 259 12.1 记录管理规划 259 12.1.1 规划概述 260 12.1.2 创建文件计划和策略 261 12.1.3 确定记录移动到中心的方式 262 12.2 实现记录中心网站和文件计划 263 12.2.1 记录中心网站模板 263 12.2.2 教程:记录管理部署和配置 264 12.2.3 在记录中心网站配置权限时的考虑因素 270 12.3 用“保留”挂起记录处置 271 12.3.1 创建保留预订 271 12.3.2 搜索并将相关记录放入“保留” 272 12.3.3 将保留应用到单个记录 273 12.3.4 解除保留预订 273 12.4 管理记录管理程序 274 12.4.1 审查并解决未分类记录 274 12.4.2 管理缺少的元数据 274 12.4.3 查阅保留报告 275 12.5 小结 275 第13章 将Office系统与SharePoint集成 276 13.1 与Office应用程序集成 276 13.1.1 将文件保存到MOSS和WSS 2007 277 13.1.2 将文档发布到MOSS和WSS 2007 280 13.2 将Outlook功能与SharePoint集成 286 13.2.1 Outlook与SharePoint任务和联系人的集成 286 13.2.2 访问SharePoint文档库和讨论组 288 13.2.3 日历集成 290 13.3 将Groove与Office服务器一同使用 293 13.3.1 决定何时将Groove用于SharePoint 293 13.3.2 在Groove集成中的变化 294 13.3.3 文档库同步 294 13.3.4 Groove中的签入/签出 296 13.4 小结 297 第4部分 SharePoint服务器和商务智能 第14章 将SharePoint作为商务智能平台使用 301 14.1 定义组织的商务智能 301 14.1.1 确定BI场景 303 14.1.2 确定行动 303 14.2 配置BI组件 304 14.2.1 使用Excel Services创建BI 304 14.2.2 选择关键性能指标 307 14.2.3 使用Reporting Services和报告中心 308 14.2.4 使用业务数据目录内容源 308 14.3 配置BI仪表板 308 14.3.1 创建仪表板页面 309 14.3.2 将筛选器连接到数据源 318 14.3.3 创建高级筛选器关系 319 14.4 小结 321 第15章 使用报告中心 322 15.1 配置报告中心 322 15.1.1 配置Reporting Services集成 322 15.1.2 将报告中心配置为受信任位置 326 15.2 管理数据源、模型和数据连接 327 15.2.1 创建和上载数据连接 327 15.2.2 创建数据源和数据模型 330 15.3 管理报表和模型 331 15.3.1 管理报表 332 15.3.2 管理模型 339 15.4 创建仪表板 341 15.4.1 创建仪表板页面 341 15.4.2 实现报表查看器Web部件 341 15.4.3 配置Excel Web Access Web部件 344 15.5 小结 345 第16章 KPI列表模板 346 16.1 定义关键性能指标 346 16.1.1 定义指标 346 16.1.2 推动用户采取行动 349 16.1.3 设计网站的KPI Web部件 349 16.2 从SharePoint列表实现KPI 351 16.2.1 确定SharePoint源和视图 352 16.2.2 决定KPI计算 352 16.2.3 确定目标值和警告值 353 16.3 从Excel实现KPI 355 16.3.1 确定Excel KPI源 355 16.3.2 为Excel的存储位置配置受信任的源 356 16.3.3 从Excel工作簿创建KPI 358 16.4 从Analysis Services实现KPI 358 16.4.1 创建到Analysis Services多维数据集的Office数据连接 359 16.4.2 用SQL Server 2005 Analysis Services的数据创建指标 361 16.5 手动实现KPI 363 16.6 小结 364 第17章 实现业务数据目录 365 17.1 确定业务数据 365 17.1.1 确定数据源 365 17.1.2 确定场景和目标 366 17.2 定义应用程序 366 17.2.1 实现应用程序 366 17.2.2 定义实体 368 17.2.3 定义关联 371 17.2.4 BDC应用程序示例 371 17.2.5 将应用程序定义添加到BDC 383 17.2.6 更新BDC应用程序定义 383 17.3 实现单一登录 384 17.3.1 启动单一登录服务 385 17.3.2 配置SSO 385 17.3.3 创建新的SSO加密密钥 385 17.3.4 创建企业应用程序定义 386 17.3.5 设置应用程序定义的密码 387 17.3.6 将BDC应用程序定义修改为使用SSO 387 17.4 配置业务数据搜索 388 17.4.1 添加内容源 388 17.4.2 映射元数据属性 389 17.4.3 创建搜索范围 389 17.4.4 添加自定义搜索页面 390 17.5 将业务数据与列表和网站集成 392 17.5.1 将业务数据添加到列表 392 17.5.2 将业务数据与网站集成 394 17.6 小结 400 第5部分 自定义SharePoint 第18章 实现内容类型 403 18.1 定义内容类型 403 18.1.1 内容类型的层次结构 405 18.1.2 从其他内容类型创建内容类型 405 18.1.3 与Office 2007的属性集成 405 18.1.4 使用网站栏 405 18.2 创建自定义内容类型和网站栏 406 18.2.1 使用对象模型更新内容类型 410 18.2.2 扩展内容类型 410 18.3 内容类型和工作流 411 18.4 小结 412 第19章 使用SharePoint Designer 413 19.1 探索SharePoint Designer 413 19.2 研究关键功能 414 19.2.1 自动生成CSS样式表 414 19.2.2 不用代码即可读/写数据视图Web部件和表单 414 19.2.3 无代码创建工作流 415 19.2.4 使用增强的管理功能 415 19.2.5 定义参与者设置和SharePoint角色 416 19.3 自定义SharePoint网站 416 19.3.1 从Office SharePoint Designer 2007打开SharePoint网站 417 19.3.2 从Internet Explorer打开SharePoint网站 419 19.3.3 编辑和发布母版页 419 19.3.4 常见的SharePoint自定义 420 19.3.5 级联样式表 423 19.3.6 内容页面 428 19.3.7 内容占位符 433 19.3.8 页面布局和设计 434 19.3.9 Web部件区域和Web部件自定义 437 19.4 小结 441 第20章 使用数据视图Web部件 442 20.1 导入和显示数据 442 20.1.1 定义数据源 443 20.1.2 实现数据视图Web部件 449 20.2 自定义数据视图的呈现 451 20.2.1 筛选数据 451 20.2.2 数据排序和分组 452 20.2.3 应用条件格式 453 20.2.4 连接数据视图Web部件 454 20.2.5 修改栏 455 20.2.6 设置数据视图样式 457 20.3 使用XPath表达式 459 20.4 小结 461 第6部分 SharePoint解决方案场景 第21章 Intranet门户解决方案场景 465 21.1 场景背景 465 21.2 解决方案需求 466 21.3 解决方案概述 466 21.4 实现解决方案 468 21.4.1 启用自助式网站创建 468 21.4.2 修改网站目录分类 469 21.4.3 创建Wiki网站集 470 21.4.4 创建自定义销售通路列表 472 21.4.5 将项目文档标准化 479 21.4.6 为项目经理创建项目状态跟踪 483 21.4.7 高管KPI 486 21.4.8 创建财务仪表板 489 21.4.9 Excel Services 493 21.4.10 配置文件共享内容源 495 21.4.11 将门户配置为Extranet门户 496 21.5 小结 497 第22章 Internet门户解决方案场景 498 22.1 场景背景 498 22.2 解决方案概述 499 22.3 实现解决方案 500 22.3.1 只向登台服务器发布 500 22.3.2 启用匿名访问 502 22.3.3 创建专业的Internet存在 503 22.3.4 创建全局导航 505 22.3.5 创建“新闻速递”发布流程 507 22.3.6 配置新闻速递存档 510 22.3.7 配置bug跟踪指标 512 22.3.8 配置技术文章工作流流程 515 22.3.9 配置网站变体 519 22.3.10 启用审核 521 22.4 小结 521文件较大,所以分卷。SharePoint.Server.2007宝典.part02 目录 第1部分 开始使用SharePoint 第1章 SharePoint产品和技术简介 3 1.1 探索Microsoft Office SharePoint Server 2007 3 1.2 比较Microsoft SharePoint Portal Server 2003和MOSS 2007 5 1.3 在MOSS和WSS之间选择 6 1.3.1 MOSS和WSS对比 6 1.3.2 考虑组织的规模 8 1.3.3 满足需求 8 1.4 小结 9 第2章 安装SharePoint 10 2.1 规划SharePoint部署 10 2.1.1 选择共享服务的角色 10 2.1.2 定义SharePoint场的拓扑 11 2.1.3 考虑管理员安全需求 13 2.1.4 与网络基础设施的集成 13 2.2 安装SharePoint场组件 14 2.2.1 安装必备组件 14 2.2.2 安装SharePoint 16 2.3 完成安装后的配置 18 2.3.1 管理中心配置 18 2.3.2 创建共享服务提供程序 22 2.4 创建顶级网站 23 2.4.1 在WSS安装中创建第一个网站 24 2.4.2 创建第一个MOSS网站 24 2.5 配置网站 25 2.6 小结 26 第3章 使用网站和页面 27 3.1 设计网站结构 27 3.1.1 定义与网站有关的术语 28 3.1.2 规划顶级网站 28 3.1.3 定义网站集和网站维护策略 29 3.2 使用网站模板 31 3.2.1 使用协作模板 31 3.2.2 使用发布模板 35 3.2.3 使用会议模板 37 3.2.4 使用企业网站模板 40 3.2.5 创建自定义网站模板 43 3.3 实现网站结构 44 3.3.1 创建根网站 44 3.3.2 实现友好名称 45 3.3.3 实现导航 45 3.3.4 开启网站功能 47 3.4 使用页面和页面库 47 3.4.1 修改内容类型 48 3.4.2 修改页面布局 49 3.5 小结 52 第4章 使用列表和库 53 4.1 实现SharePoint列表和库 53 4.1.1 使用SharePoint列表模板 53 4.1.2 创建自定义SharePoint列表 56 4.1.3 配置列表设置和库设置 58 4.1.4 使用文件夹组织内容 62 4.2 自定义列表和库 63 4.2.1 实现自定义栏 64 4.2.2 创建查阅列表 66 4.2.3 配置列表和库项目的安全性 67 4.3 创建视图 68 4.3.1 选择视图类型 68 4.3.2 配置视图设置 69 4.3.3 选择和修改视图 73 4.4 使用列表Web部件 73 4.4.1 添加列表Web部件 73 4.4.2 修改列表Web部件视图 75 4.4.3 连接Web部件 76 4.5 小结 77 第5章 使用和自定义Web部件 78 5.1 探索Web部件 78 5.2 使用Web部件 79 5.2.1 将Web部件添加到Web部件页面 80 5.2.2 从Web部件网页关闭或删除Web部件 82 5.2.3 配置Web部件 84 5.2.4 连接Web部件 86 5.3 了解Web部件库 88 5.3.1 和WSS v3一样的Web部件 88 5.3.2 特定于MOSS 2007的Web部件 94 5.4 管理Web部件 102 5.4.1 将Web部件添加到Web部件库 102 5.4.2 将Web部件部署到服务器Web部件库 102 5.4.3 将Web部件部署到网站Web部件库 103 5.4.4 从库中删除Web部件 103 5.4.5 导出和导入Web部件 103 5.5 小结 104 第2部分 配置SharePoint服务器 第6章 使用个性化功能 107 6.1 定义个性化功能 107 6.1.1 创建用户配置文件 108 6.1.2 目标访问群体 109 6.1.3 探索“我的网站” 110 6.1.4 使用个性化网站 112 6.2 设计用户配置文件和成员资格 113 6.2.1 确定用户配置文件字段 113 6.2.2 在用户配置文件属性和目录服务之间建立映射 115 6.2.3 设计访问群体 119 6.2.4 使用按访问群体筛选的Web部件 122 6.2.5 管理成员资格 122 6.3 管理个性化功能 123 6.3.1 管理用户配置文件和属性 123 6.3.2 设置配置文件服务策略 127 6.3.3 配置“我的网站”设置 130 6.3.4 配置“受信任的我的网站宿主位置” 131 6.3.5 创建Office客户端应用程序的已发布链接 132 6.3.6 配置个性化链接 132 6.3.7 设置个性化服务权限 132 6.4 管理“我的网站” 133 6.5 搜索人员 134 6.6 小结 135 第7章 搜索和获取内容 136 7.1 配置和维护搜索与索引组件 136 7.1.1 编制内容索引 137 7.1.2 配置服务器场的搜索 140 7.1.3 配置搜索范围 141 7.2 搜索结果调优 144 7.2.1 配置相关性设置以区分内容的优先级 144 7.2.2 使用托管属性 145 7.2.3 实现关键字 146 7.3 自定义搜索中心 147 7.4 查找有通知的内容 150 7.5 小结 150 第8章 工作流和流程改进 151 8.1 Microsoft Office工作流环境 151 8.1.1 Windows工作流基础 152 8.1.2 Windows SharePoint Services 153 8.2 创建基本工作流 153 8.2.1 WSS自带的工作流 153 8.2.2 MOSS自带的工作流 156 8.3 使用Office SharePoint Designer 157 8.4 使用Visual Studio和InfoPath创建高级工作流解决方案 161 8.5 小结 181 第9章 扩展Office服务器 182 9.1 为Office服务器开发功能 182 9.1.1 创建feature.xml文件 183 9.1.2 使用元素类型 185 9.2 安装和激活功能定义 197 9.2.1 安装功能 197 9.2.2 激活/停用功能 198 9.3 优化Excel Services 199 9.3.1 配置Excel Services设置 200 9.3.2 添加受信任文件位置 201 9.3.3 定义受信任数据连接库 202 9.3.4 配置受信任数据提供程序 203 9.3.5 添加用户定义的函数集 204 9.4 小结 205 第10章 保护Office服务器 206 10.1 保护服务器和服务器场 206 10.2 保护客户端通信 212 10.2.1 验证 212 10.2.2 基于表单的验证 213 10.3 保护内容 223 10.3.1 工作组协作 223 10.3.2 保护匿名内容 224 10.3.3 企业门户/内部网安全性 224 10.3.4 配置列表项目和库项目的安全性 229 10.4 小结 230 第3部分 使用SharePoint进行内容管理 第11章 管理Web内容 233 11.1 设计网页 233 11.1.1 使用母版页 234 11.1.2 修改母版页 234 11.1.3 探索页面布局 236 11.2 实现Web内容工作流 242 11.2.1 使用审批工作流 243 11.2.2 在服务器之间部署内容 246 11.2.3 使用网站变体和语言翻译 248 11.3 使用文档转换 250 11.4 管理网站 252 11.4.1 审核活动 253 11.4.2 配置网站使用率分析报告 254 11.4.3 扩展配额 255 11.4.4 删除未使用的网站 256 11.5 配置移动访问 258 11.6 小结 258 第12章 实现记录管理 259 12.1 记录管理规划 259 12.1.1 规划概述 260 12.1.2 创建文件计划和策略 261 12.1.3 确定记录移动到中心的方式 262 12.2 实现记录中心网站和文件计划 263 12.2.1 记录中心网站模板 263 12.2.2 教程:记录管理部署和配置 264 12.2.3 在记录中心网站配置权限时的考虑因素 270 12.3 用“保留”挂起记录处置 271 12.3.1 创建保留预订 271 12.3.2 搜索并将相关记录放入“保留” 272 12.3.3 将保留应用到单个记录 273 12.3.4 解除保留预订 273 12.4 管理记录管理程序 274 12.4.1 审查并解决未分类记录 274 12.4.2 管理缺少的元数据 274 12.4.3 查阅保留报告 275 12.5 小结 275 第13章 将Office系统与SharePoint集成 276 13.1 与Office应用程序集成 276 13.1.1 将文件保存到MOSS和WSS 2007 277 13.1.2 将文档发布到MOSS和WSS 2007 280 13.2 将Outlook功能与SharePoint集成 286 13.2.1 Outlook与SharePoint任务和联系人的集成 286 13.2.2 访问SharePoint文档库和讨论组 288 13.2.3 日历集成 290 13.3 将Groove与Office服务器一同使用 293 13.3.1 决定何时将Groove用于SharePoint 293 13.3.2 在Groove集成中的变化 294 13.3.3 文档库同步 294 13.3.4 Groove中的签入/签出 296 13.4 小结 297 第4部分 SharePoint服务器和商务智能 第14章 将SharePoint作为商务智能平台使用 301 14.1 定义组织的商务智能 301 14.1.1 确定BI场景 303 14.1.2 确定行动 303 14.2 配置BI组件 304 14.2.1 使用Excel Services创建BI 304 14.2.2 选择关键性能指标 307 14.2.3 使用Reporting Services和报告中心 308 14.2.4 使用业务数据目录内容源 308 14.3 配置BI仪表板 308 14.3.1 创建仪表板页面 309 14.3.2 将筛选器连接到数据源 318 14.3.3 创建高级筛选器关系 319 14.4 小结 321 第15章 使用报告中心 322 15.1 配置报告中心 322 15.1.1 配置Reporting Services集成 322 15.1.2 将报告中心配置为受信任位置 326 15.2 管理数据源、模型和数据连接 327 15.2.1 创建和上载数据连接 327 15.2.2 创建数据源和数据模型 330 15.3 管理报表和模型 331 15.3.1 管理报表 332 15.3.2 管理模型 339 15.4 创建仪表板 341 15.4.1 创建仪表板页面 341 15.4.2 实现报表查看器Web部件 341 15.4.3 配置Excel Web Access Web部件 344 15.5 小结 345 第16章 KPI列表模板 346 16.1 定义关键性能指标 346 16.1.1 定义指标 346 16.1.2 推动用户采取行动 349 16.1.3 设计网站的KPI Web部件 349 16.2 从SharePoint列表实现KPI 351 16.2.1 确定SharePoint源和视图 352 16.2.2 决定KPI计算 352 16.2.3 确定目标值和警告值 353 16.3 从Excel实现KPI 355 16.3.1 确定Excel KPI源 355 16.3.2 为Excel的存储位置配置受信任的源 356 16.3.3 从Excel工作簿创建KPI 358 16.4 从Analysis Services实现KPI 358 16.4.1 创建到Analysis Services多维数据集的Office数据连接 359 16.4.2 用SQL Server 2005 Analysis Services的数据创建指标 361 16.5 手动实现KPI 363 16.6 小结 364 第17章 实现业务数据目录 365 17.1 确定业务数据 365 17.1.1 确定数据源 365 17.1.2 确定场景和目标 366 17.2 定义应用程序 366 17.2.1 实现应用程序 366 17.2.2 定义实体 368 17.2.3 定义关联 371 17.2.4 BDC应用程序示例 371 17.2.5 将应用程序定义添加到BDC 383 17.2.6 更新BDC应用程序定义 383 17.3 实现单一登录 384 17.3.1 启动单一登录服务 385 17.3.2 配置SSO 385 17.3.3 创建新的SSO加密密钥 385 17.3.4 创建企业应用程序定义 386 17.3.5 设置应用程序定义的密码 387 17.3.6 将BDC应用程序定义修改为使用SSO 387 17.4 配置业务数据搜索 388 17.4.1 添加内容源 388 17.4.2 映射元数据属性 389 17.4.3 创建搜索范围 389 17.4.4 添加自定义搜索页面 390 17.5 将业务数据与列表和网站集成 392 17.5.1 将业务数据添加到列表 392 17.5.2 将业务数据与网站集成 394 17.6 小结 400 第5部分 自定义SharePoint 第18章 实现内容类型 403 18.1 定义内容类型 403 18.1.1 内容类型的层次结构 405 18.1.2 从其他内容类型创建内容类型 405 18.1.3 与Office 2007的属性集成 405 18.1.4 使用网站栏 405 18.2 创建自定义内容类型和网站栏 406 18.2.1 使用对象模型更新内容类型 410 18.2.2 扩展内容类型 410 18.3 内容类型和工作流 411 18.4 小结 412 第19章 使用SharePoint Designer 413 19.1 探索SharePoint Designer 413 19.2 研究关键功能 414 19.2.1 自动生成CSS样式表 414 19.2.2 不用代码即可读/写数据视图Web部件和表单 414 19.2.3 无代码创建工作流 415 19.2.4 使用增强的管理功能 415 19.2.5 定义参与者设置和SharePoint角色 416 19.3 自定义SharePoint网站 416 19.3.1 从Office SharePoint Designer 2007打开SharePoint网站 417 19.3.2 从Internet Explorer打开SharePoint网站 419 19.3.3 编辑和发布母版页 419 19.3.4 常见的SharePoint自定义 420 19.3.5 级联样式表 423 19.3.6 内容页面 428 19.3.7 内容占位符 433 19.3.8 页面布局和设计 434 19.3.9 Web部件区域和Web部件自定义 437 19.4 小结 441 第20章 使用数据视图Web部件 442 20.1 导入和显示数据 442 20.1.1 定义数据源 443 20.1.2 实现数据视图Web部件 449 20.2 自定义数据视图的呈现 451 20.2.1 筛选数据 451 20.2.2 数据排序和分组 452 20.2.3 应用条件格式 453 20.2.4 连接数据视图Web部件 454 20.2.5 修改栏 455 20.2.6 设置数据视图样式 457 20.3 使用XPath表达式 459 20.4 小结 461 第6部分 SharePoint解决方案场景 第21章 Intranet门户解决方案场景 465 21.1 场景背景 465 21.2 解决方案需求 466 21.3 解决方案概述 466 21.4 实现解决方案 468 21.4.1 启用自助式网站创建 468 21.4.2 修改网站目录分类 469 21.4.3 创建Wiki网站集 470 21.4.4 创建自定义销售通路列表 472 21.4.5 将项目文档标准化 479 21.4.6 为项目经理创建项目状态跟踪 483 21.4.7 高管KPI 486 21.4.8 创建财务仪表板 489 21.4.9 Excel Services 493 21.4.10 配置文件共享内容源 495 21.4.11 将门户配置为Extranet门户 496 21.5 小结 497 第22章 Internet门户解决方案场景 498 22.1 场景背景 498 22.2 解决方案概述 499 22.3 实现解决方案 500 22.3.1 只向登台服务器发布 500 22.3.2 启用匿名访问 502 22.3.3 创建专业的Internet存在 503 22.3.4 创建全局导航 505 22.3.5 创建“新闻速递”发布流程 507 22.3.6 配置新闻速递存档 510 22.3.7 配置bug跟踪指标 512 22.3.8 配置技术文章工作流流程 515 22.3.9 配置网站变体 519 22.3.10 启用审核 521 22.4 小结 5214 167浏览会员免费
- arcgis10.7是一款非常好用的地理信息系统软件,软件可以分析空间位置,并使用地图和3D场景将信息层组织成可视化,让用户可以更深入地了解数据,包含的ArcMap是ArcGIS中使用的中央应用程序,您可以在ArcMap中显示和浏览研究区域的GIS数据集,您可以在其中指定符号,以及在何处创建用于打印或发布的地图布局。2 2679浏览会员免费
- 图像标注大小:2KB将voc文件转成yolov5所需的文件,输入xml文件地址以及txt文件地址即可完成转换,在转换后添加labels文件即可作为yolov5的数据集使用。将voc文件转成yolov5所需的文件,输入xml文件地址以及txt文件地址即可完成转换,在转换后添加labels文件即可作为yolov5的数据集使用。1 4277浏览会员免费
- smarttoolV1.3大小:518KB支持各种国密算法,例如:SM2,SM3,SM4, 还支持其它算法比如:3DES,MAC,AES,RSA; 还包含数据转换比如:ASCII和十六进制的互相转化, 智能卡算法工具集v1.3 适合于程序开发者用于算法验证运算。该工具集合包含:校验运算、大数运算、TLV运算、SM4运算、SM3运算、SM2运算、DES运算、MAC运算、AES运算、RSA运算、CRT运算、数据转换、数据运算。是程序开发人员以及爱好者的必备工具支持各种国密算法,例如:SM2,SM3,SM4, 还支持其它算法比如:3DES,MAC,AES,RSA; 还包含数据转换比如:ASCII和十六进制的互相转化, 智能卡算法工具集v1.3 适合于程序开发者用于算法验证运算。该工具集合包含:校验运算、大数运算、TLV运算、SM4运算、SM3运算、SM2运算、DES运算、MAC运算、AES运算、RSA运算、CRT运算、数据转换、数据运算。是程序开发人员以及爱好者的必备工具2 1492浏览会员免费
- MSTAR大小:7MB美国MSTAR计划的数据集,雷达图片,其中的一个装甲车图片,360度方位的美国MSTAR计划的数据集,雷达图片,其中的一个装甲车图片,360度方位的5 1049浏览会员免费
- pytorch大小:151MB博客见:https://blog.csdn.net/qq_37534947/article/details/109727232,主要是空洞卷积以及残差网络的代码实现,包含数据集,框架是pytorch博客见:https://blog.csdn.net/qq_37534947/article/details/109727232,主要是空洞卷积以及残差网络的代码实现,包含数据集,框架是pytorch5 4586浏览会员免费
- 时间序列大小:20MBCOVID-19新冠疫情预测代码(含数据集)COVID-19 prediction.zipCOVID-19新冠疫情预测代码(含数据集)COVID-19 prediction.zip5 6684浏览会员免费
- weka数据集UCI大小:1MBWeka数据集UCI,包含36个数据集,此为Weka官方资源请放心使用Weka数据集UCI,包含36个数据集,此为Weka官方资源请放心使用5 85浏览会员免费
- Iris数据集分类大小:44KBIris数据集分类,查看几种分类方法的效率Iris数据集分类,查看几种分类方法的效率4 914浏览会员免费
- AlbeR2Vforwindows非常好的GIS矢量化软件R2V5.5大小:4MB简介Raster2Vector 5.x(R2V) Raster2Vector 5.x(R2V) for Win9X/NT/2000/ME/XP 是一种高级光栅图矢量化软件系统。该软件系统将强有力的智能自动数字化技术与方便易用的菜单驱动图形用户界面有机地结合到Windows & NT环境中,为用户提供了全面的自动化光栅图像到矢量图形的转换,它可以处理多种格式的光栅(扫描)图像,是一个可以用扫描光栅图像为背景的矢量编辑工具。由于该软件的良好的适应性和高精确度,其非常适合于GIS、地形图、CAD及科学计算等应用。 R2V提供简便及完整的将光栅图像数字化为矢量数据的解决方案,这些光栅图像可以是扫描的图纸、航摄照片或是卫星图片。整个的光栅图像矢量化过程可以是全自动的且不需要人工干预(也可选人工干预)。你仅需要将扫描图像显示在屏幕上并选择矢量化命令,所有的线段在数秒钟即可识别出来并显示在图像上供你校正与编辑。强大的编辑及处理功能可用于矢量的编辑、大地坐标校正及高程数据标注。 拥有R2V,你可以忘掉缓慢而又不准确的数字化仪人工手动跟踪描绘。你可以在草稿纸上画草图,你只需扫描你的图纸,然后让R2V高精度地自动或半自动矢量化它们。一张典型的地形图或区划地图,通常以200DPI的黑白或灰度扫描,在Pentium级PC上数秒内即可完成矢量化。 你可以在同一个显示窗口下处理各种类型的数据,这些数据包括线、点、多边形、文本标注、光栅点以及控制点。使用R2V,你就可以自动地矢量化地图及其他图纸,快速智能地完成航片或卫片的数字化及地理解析工作,用最新的航摄照片或其他图像更新你现存的矢量数据集。 R2V for Windows & NT非常易于使用,其基本的转换和编辑功能,拥有不同技术背景的用户都可快速掌握。简介Raster2Vector 5.x(R2V) Raster2Vector 5.x(R2V) for Win9X/NT/2000/ME/XP 是一种高级光栅图矢量化软件系统。该软件系统将强有力的智能自动数字化技术与方便易用的菜单驱动图形用户界面有机地结合到Windows & NT环境中,为用户提供了全面的自动化光栅图像到矢量图形的转换,它可以处理多种格式的光栅(扫描)图像,是一个可以用扫描光栅图像为背景的矢量编辑工具。由于该软件的良好的适应性和高精确度,其非常适合于GIS、地形图、CAD及科学计算等应用。 R2V提供简便及完整的将光栅图像数字化为矢量数据的解决方案,这些光栅图像可以是扫描的图纸、航摄照片或是卫星图片。整个的光栅图像矢量化过程可以是全自动的且不需要人工干预(也可选人工干预)。你仅需要将扫描图像显示在屏幕上并选择矢量化命令,所有的线段在数秒钟即可识别出来并显示在图像上供你校正与编辑。强大的编辑及处理功能可用于矢量的编辑、大地坐标校正及高程数据标注。 拥有R2V,你可以忘掉缓慢而又不准确的数字化仪人工手动跟踪描绘。你可以在草稿纸上画草图,你只需扫描你的图纸,然后让R2V高精度地自动或半自动矢量化它们。一张典型的地形图或区划地图,通常以200DPI的黑白或灰度扫描,在Pentium级PC上数秒内即可完成矢量化。 你可以在同一个显示窗口下处理各种类型的数据,这些数据包括线、点、多边形、文本标注、光栅点以及控制点。使用R2V,你就可以自动地矢量化地图及其他图纸,快速智能地完成航片或卫片的数字化及地理解析工作,用最新的航摄照片或其他图像更新你现存的矢量数据集。 R2V for Windows & NT非常易于使用,其基本的转换和编辑功能,拥有不同技术背景的用户都可快速掌握。5 310浏览会员免费
- 阿里巴巴大小:538KBAliDMCompetition 阿里巴巴大数据竞赛(http://102.alibaba.com/competition/addDiscovery/index.htm ) 数据说明 提供的原始文件有大约4M左右,涉及1千多天猫用户,几千个天猫品牌,总共10万多条的行为记录。 用户4种行为类型(Type)对应代码分别为: 点击:0 购买:1 收藏:2 购物车:3 提交格式 参赛者将预测的用户存入文本文件中,格式如下: user_id \t brand_id , brand_id , brand_id \n 上传的结果文件名字不限(20字以内),文件必须为txt格式。 预测结果 真实购买记录一共有3526条 TODO 注意调整正负样本比例 在LR的基础上做RawLR。按照天猫内部的思路来。 在LR的基础上做MRLR,样本提取要更加合理。 在UserCF和ItemCF上加上时间因子的影响。 利用UserCF做好的用户聚类、ItemCF做好的品牌聚类来做细化的LR,或者在聚类 上做LFM 在ItemCF的思路上挖掘频繁项集/购买模式,如购买品牌A和商品后往往会购买 品牌B的商品 LFM 数据集特征 某一商品在购买前的一段时间内会出现大量点击次数,购买完成后的一段时间内也会出现大量点击次数 用户在本月有过行为的商品极少出现在下个月的购买列表里 根据观察推断:用户浏览商品的行为可分为两类: 无目的浏览,可能会在浏览过程中对某些中意的商品进行购买,数据表现为有大量点击次数<=2的行为记录,但很少有购买行为 有目的的查找商品,可能是事先有需求的情况,数据表现为一段时间内点击商品数很少, 但点击过的商品大多数都进行了购买 参考论文 See https://www.google.com.hk/search?q=data+mining+time+series&ie=utf-8&oe=utf-8&aq=t for more. Chapter 1 MINING TIME SERIES DATA - ResearchGate 模型列表 LR(model=LinearSVC(C=10, loss='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1438 1436 626 71 12 | % 100% 99.861% 43.533% 4.937% 0.834% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 76 Precision 5.285118% Recall 5.797101% F1 Score 5.529283% LR(model=LogisticRegression(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1472 1470 615 68 14 | % 100% 99.864% 41.780% 4.620% 0.951% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 74 Precision 5.027174% Recall 5.644546% F1 Score 5.318002% 这个模型在数据变成2次后,Precision ~ 16%,同时F1 ~ 3% LR(model=Perceptron(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 3145 3140 1023 130 26 | % 100% 99.841% 32.528% 4.134% 0.827% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 113 Precision 3.593005% Recall 8.619375% F1 Score 5.071813% LR(model=PassiveAggressiveClassifier(C=1, loss='hinge'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 2608 2603 823 119 22 | % 100% 99.808% 31.557% 4.563% 0.844% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 98 Precision 3.757669% Recall 7.475210% F1 Score 5.001276% model2, PassiveAggressiveClassifier(C=1, loss='squared_hinge') | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 5172 5161 1408 203 29 | % 100% 99.787% 27.224% 3.925% 0.561% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 129 Precision 2.494200% Recall 9.839817% F1 Score 3.979639%AliDMCompetition 阿里巴巴大数据竞赛(http://102.alibaba.com/competition/addDiscovery/index.htm ) 数据说明 提供的原始文件有大约4M左右,涉及1千多天猫用户,几千个天猫品牌,总共10万多条的行为记录。 用户4种行为类型(Type)对应代码分别为: 点击:0 购买:1 收藏:2 购物车:3 提交格式 参赛者将预测的用户存入文本文件中,格式如下: user_id \t brand_id , brand_id , brand_id \n 上传的结果文件名字不限(20字以内),文件必须为txt格式。 预测结果 真实购买记录一共有3526条 TODO 注意调整正负样本比例 在LR的基础上做RawLR。按照天猫内部的思路来。 在LR的基础上做MRLR,样本提取要更加合理。 在UserCF和ItemCF上加上时间因子的影响。 利用UserCF做好的用户聚类、ItemCF做好的品牌聚类来做细化的LR,或者在聚类 上做LFM 在ItemCF的思路上挖掘频繁项集/购买模式,如购买品牌A和商品后往往会购买 品牌B的商品 LFM 数据集特征 某一商品在购买前的一段时间内会出现大量点击次数,购买完成后的一段时间内也会出现大量点击次数 用户在本月有过行为的商品极少出现在下个月的购买列表里 根据观察推断:用户浏览商品的行为可分为两类: 无目的浏览,可能会在浏览过程中对某些中意的商品进行购买,数据表现为有大量点击次数<=2的行为记录,但很少有购买行为 有目的的查找商品,可能是事先有需求的情况,数据表现为一段时间内点击商品数很少, 但点击过的商品大多数都进行了购买 参考论文 See https://www.google.com.hk/search?q=data+mining+time+series&ie=utf-8&oe=utf-8&aq=t for more. Chapter 1 MINING TIME SERIES DATA - ResearchGate 模型列表 LR(model=LinearSVC(C=10, loss='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1438 1436 626 71 12 | % 100% 99.861% 43.533% 4.937% 0.834% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 76 Precision 5.285118% Recall 5.797101% F1 Score 5.529283% LR(model=LogisticRegression(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1472 1470 615 68 14 | % 100% 99.864% 41.780% 4.620% 0.951% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 74 Precision 5.027174% Recall 5.644546% F1 Score 5.318002% 这个模型在数据变成2次后,Precision ~ 16%,同时F1 ~ 3% LR(model=Perceptron(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 3145 3140 1023 130 26 | % 100% 99.841% 32.528% 4.134% 0.827% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 113 Precision 3.593005% Recall 8.619375% F1 Score 5.071813% LR(model=PassiveAggressiveClassifier(C=1, loss='hinge'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 2608 2603 823 119 22 | % 100% 99.808% 31.557% 4.563% 0.844% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 98 Precision 3.757669% Recall 7.475210% F1 Score 5.001276% model2, PassiveAggressiveClassifier(C=1, loss='squared_hinge') | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 5172 5161 1408 203 29 | % 100% 99.787% 27.224% 3.925% 0.561% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 129 Precision 2.494200% Recall 9.839817% F1 Score 3.979639%5 679浏览会员免费
- 官方Gerber文件格式规范,2018版。详细说明了gerber文件语法及格式,是开发gerber文件解析软件必不可少的参考资料3 2642浏览会员免费
- arff大小:1MB自己收集的arff数据集,大概200个文件左右,以文件开头字母为名,分为7个压缩包,希望能为大家帮点小忙,板砖轻砸。自己收集的arff数据集,大概200个文件左右,以文件开头字母为名,分为7个压缩包,希望能为大家帮点小忙,板砖轻砸。5 305浏览会员免费
- 蚁群算法大小:2MBTSP数据集是用来对自己所写的蚁群算法进行测试的原始数据,使用这些标准数据来进行测试有利于与别人的算法进行性能比较TSP数据集是用来对自己所写的蚁群算法进行测试的原始数据,使用这些标准数据来进行测试有利于与别人的算法进行性能比较5 197浏览会员免费
- 数据集大小:15KB适用于聚类和分类测试用的数据集。适用于聚类和分类测试用的数据集。0 2043浏览会员免费
- 数据集大小:36MB掌上生活APP是招商银行于2010年推出的手机客户端应用软件,全面升级了信用卡的使用体验。当前6.0版本的掌上生活APP,提供了手机商城、饭票影票、在线客服、基金理财、办卡开卡、额度管理、消费信贷、账单管理等全方位功能,同时实现了LBS查询服务和手机远程支付,全面满足并提升了持卡人对金融和日常生活需求的消费体验。 招商银行信用卡在不断拓展业务与场景的同时,也希望通过数据积累与数据驱动,主动捕捉用户价值信息与消费需求,发挥数据价值,给用户提供更加精准的服务。 利用招商银行客户的个人属性、信用卡消费数据,以及部分客户在掌上生活APP上的一个月的操作行为日志,设计合理的特征工程与模型算法方案,预测客户在未来一周内 是否会购买掌上生活APP上的优惠券(包括饭票、影票等)。考虑到客户隐私,客户的个人属性数据与信用卡消费数据,采用脱敏并标准化处理为V1,V2,…,V30数值型属性。客户在APP上的行为日志,一些字段也进行了相应加密。掌上生活APP是招商银行于2010年推出的手机客户端应用软件,全面升级了信用卡的使用体验。当前6.0版本的掌上生活APP,提供了手机商城、饭票影票、在线客服、基金理财、办卡开卡、额度管理、消费信贷、账单管理等全方位功能,同时实现了LBS查询服务和手机远程支付,全面满足并提升了持卡人对金融和日常生活需求的消费体验。 招商银行信用卡在不断拓展业务与场景的同时,也希望通过数据积累与数据驱动,主动捕捉用户价值信息与消费需求,发挥数据价值,给用户提供更加精准的服务。 利用招商银行客户的个人属性、信用卡消费数据,以及部分客户在掌上生活APP上的一个月的操作行为日志,设计合理的特征工程与模型算法方案,预测客户在未来一周内 是否会购买掌上生活APP上的优惠券(包括饭票、影票等)。考虑到客户隐私,客户的个人属性数据与信用卡消费数据,采用脱敏并标准化处理为V1,V2,…,V30数值型属性。客户在APP上的行为日志,一些字段也进行了相应加密。5 1272浏览会员免费
- windows大小:80B含有最新版ArcGIS10.8版本的ArcGIS_Server_Windows、ArcGIS Portal_for_ArcGIS_Windows、ArcGIS Web_Adaptor_Java_Windows、ArcGIS Web_Adaptor_for_Microsoft_IIS、ArcGIS ArcGIS_DataStore_Windows四件套全套软件安装包。可供GIS类服务和开发调试使用。 ArcGIS Enterprise是新一代的ArcGIS服务器产品,是在用户自有环境中打造Web GIS平台的核心产品,它提供了强大的空间数据管理、分析、制图可视化与共享协作能力。它以Web为中心,使得任何角色任何组织在任何时间、任何地点,通过任何设备去获得地理信息、分享地理信息;使用户可以基于服务器进行影像和大数据的分析处理,以及物联网实时数据的持续接入和处理,并在各种终端(桌面、Web、移动设备)访问地图和应用;同时还以全新方式开启了地理空间信息协作和共享的新篇章,使得Web GIS应用模式更加生动鲜活。含有最新版ArcGIS10.8版本的ArcGIS_Server_Windows、ArcGIS Portal_for_ArcGIS_Windows、ArcGIS Web_Adaptor_Java_Windows、ArcGIS Web_Adaptor_for_Microsoft_IIS、ArcGIS ArcGIS_DataStore_Windows四件套全套软件安装包。可供GIS类服务和开发调试使用。 ArcGIS Enterprise是新一代的ArcGIS服务器产品,是在用户自有环境中打造Web GIS平台的核心产品,它提供了强大的空间数据管理、分析、制图可视化与共享协作能力。它以Web为中心,使得任何角色任何组织在任何时间、任何地点,通过任何设备去获得地理信息、分享地理信息;使用户可以基于服务器进行影像和大数据的分析处理,以及物联网实时数据的持续接入和处理,并在各种终端(桌面、Web、移动设备)访问地图和应用;同时还以全新方式开启了地理空间信息协作和共享的新篇章,使得Web GIS应用模式更加生动鲜活。4 3928浏览会员免费
- 辛辛那提大学轴承数据集全部数据,压缩包大于1GB,上传不了,分享到百度网盘,此TXT文档中有下载链接和提取码。0 1444浏览会员免费
- darpa大小:113MB林肯实验室darpa数据集_2000年(Lincoln Laboratory Scenario (DD0S) 2.0.2)林肯实验室darpa数据集_2000年(Lincoln Laboratory Scenario (DD0S) 2.0.2)3 1031浏览会员免费
- 多标记大小:5KB该代码专门处理多标记数据,使用扩展的最近邻算法建立能够处理多标记数据集的分类器,而且提供几种有效的评价指标。该代码专门处理多标记数据,使用扩展的最近邻算法建立能够处理多标记数据集的分类器,而且提供几种有效的评价指标。4 720浏览会员免费
- 前几天一直在研究 Python 爬虫技术,只为从互联网上获取数据集。 本文就是利用前几天学到的爬虫知识使用 Python 爬取天气数据集,并做的一期讨论日期与最低气温能是否是最高气温的影响因素,进而判断能否精确预测第二天的天气情况。 由于本文开始写作与5月9日,当天想预测第二天也就是5月10日的气温数据,但由于内容较多,到10日下午才写完。所以数据预测的内容有些“陈旧”,还请读者多多包涵。 目录 1 天气数据集爬取 2 数据可视化 3 模型预测数据 3.1 单变量线性回归 模型一:单变量线性回归模型 3.2 多变量线性回归 模型二:基于LinearRegression实现的多变量线性回归模型5 7897浏览会员免费
- yolov5,yolo,目标检测,深度学习,pytorch,人工智能,物体检测大小:16MB【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!代码阅读是从基础到提高的必由之路。 YOLOv5是最近推出的轻量且高性能的实时目标检测方法。YOLOv5使用PyTorch实现,含有很多业界前沿和常用的技巧,可以作为很好的代码阅读案例,让我们深入探究其实现原理,其中不少知识点的代码可以作为相关项目的借鉴。 【课程内容与收获】 本课程将详细解析YOLOv5的实现原理和源码,对关键代码使用PyCharm的debug模式逐行分析解读。 本课程将提供注释后的YOLOv5的源码程序文件。 【相关课程】 本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》 Ubuntu系统 https://edu.csdn.net/course/detail/30793 Windows系统 https://edu.csdn.net/course/detail/30923 《YOL【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!代码阅读是从基础到提高的必由之路。 YOLOv5是最近推出的轻量且高性能的实时目标检测方法。YOLOv5使用PyTorch实现,含有很多业界前沿和常用的技巧,可以作为很好的代码阅读案例,让我们深入探究其实现原理,其中不少知识点的代码可以作为相关项目的借鉴。 【课程内容与收获】 本课程将详细解析YOLOv5的实现原理和源码,对关键代码使用PyCharm的debug模式逐行分析解读。 本课程将提供注释后的YOLOv5的源码程序文件。 【相关课程】 本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》 Ubuntu系统 https://edu.csdn.net/course/detail/30793 Windows系统 https://edu.csdn.net/course/detail/30923 《YOL1 6168浏览会员免费
- rdlc,报表大小:95KB最简单的自定义数据集的报表显示。最简单的自定义数据集的报表显示。4 283浏览会员免费
- Modis大小:7MB批量提取MODIS土地覆盖数据MCD12Q1中的数据集。使用方法:选择输入目录下的一个hdf文件,选择要提取的字段,指定输出目录,点击运行即可将输入目录下所有hdf文件中MCD12Q1数据集中指定的数据集提取出来,结果按按照原文件名,保存为tiff格式。参考:http://blog.csdn.net/giselite/article/details/21081297批量提取MODIS土地覆盖数据MCD12Q1中的数据集。使用方法:选择输入目录下的一个hdf文件,选择要提取的字段,指定输出目录,点击运行即可将输入目录下所有hdf文件中MCD12Q1数据集中指定的数据集提取出来,结果按按照原文件名,保存为tiff格式。参考:http://blog.csdn.net/giselite/article/details/210812974 1539浏览会员免费
- 目标检测大小:219MB车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。车辆数据集,已经标注完。5 2554浏览会员免费
- TXT大小:106B中国交通标志检测数据集-附件资源中国交通标志检测数据集-附件资源5 5692浏览会员免费
- data大小:22KB全国5A级景区的数据集合,可以适用于任何需要利用到数据的场合全国5A级景区的数据集合,可以适用于任何需要利用到数据的场合3 2044浏览会员免费
- 网络通信类大小:238KB用Intraweb5.0写了一个人力资源管理的Webserver,感觉挺爽的,真正的RAD的Web开发方式,比WebSnap好用多了,上手比Express Web Framework快,但例子程序不如EWF好看,不知道和ASP.NET比哪个好些?不过还有些Bug,我发现的主要是ComboBox和DBCombobox有比较严重的Bug。例子可以从[这里]下载,注意例子用的数据集是基于BetterAdo的,大家可以从www.torry.net搜索和下载到,BetterAdo最好在机器上安装有ADO 2.6或2.7才能运行,否则会有AV错误。另外本程序使用ERStudio5.1画的ER图,用Rose画的用例图都在压缩包中。<br> <br> TBetterADODataSet v.3.04 <br> <br> http://www.torry.net/db/direct/db_msother/tbetteradodataset.zip<br> <br> 将intraweb的source所在路径加入到library path中就可以了,用Intraweb 5.0.35编译的用Intraweb5.0写了一个人力资源管理的Webserver,感觉挺爽的,真正的RAD的Web开发方式,比WebSnap好用多了,上手比Express Web Framework快,但例子程序不如EWF好看,不知道和ASP.NET比哪个好些?不过还有些Bug,我发现的主要是ComboBox和DBCombobox有比较严重的Bug。例子可以从[这里]下载,注意例子用的数据集是基于BetterAdo的,大家可以从www.torry.net搜索和下载到,BetterAdo最好在机器上安装有ADO 2.6或2.7才能运行,否则会有AV错误。另外本程序使用ERStudio5.1画的ER图,用Rose画的用例图都在压缩包中。<br> <br> TBetterADODataSet v.3.04 <br> <br> http://www.torry.net/db/direct/db_msother/tbetteradodataset.zip<br> <br> 将intraweb的source所在路径加入到library path中就可以了,用Intraweb 5.0.35编译的5 92浏览会员免费
- 手机号归属地大小:13MB最新批量查询手机号码归属地数据库,查询不限手机号条数,简单易用,txt数据库,xlsx数据库,sql数据集,excel使用方法示例最新批量查询手机号码归属地数据库,查询不限手机号条数,简单易用,txt数据库,xlsx数据库,sql数据集,excel使用方法示例5 1471浏览会员免费
- 模式识别大小:47MB模式识别-原理、方法及应用.pdf (Patterns+Recognition.pdf) 一书所带的 数据集 及其 工具。。。。模式识别-原理、方法及应用.pdf (Patterns+Recognition.pdf) 一书所带的 数据集 及其 工具。。。。5 383浏览会员免费
- BlogCatalog大小:954KB可以用于复杂网络学习,网络结构研究,如社团划分发现等可以用于复杂网络学习,网络结构研究,如社团划分发现等0 3511浏览会员免费
- 标准的Iris数据集,检测您的分类算法哦4 172浏览会员免费
- global大小:3KB可以浏览、合成、输入、输出大部分流行的扫描点阵图、等高线、矢量数据集的软件,它可以编辑、转换、打印各类地图图形文件,可以利用全球情报系统(GIS) 信息资源。它可以转换数据集的投影方式以符合你的项目的座标系统,并可以同时对数据集的范围进行裁剪。它还提供距离和面积计算,光栅混合、对比度调节、海拔高度查询、视线计算,以及一些高级功能,如图像校正、通过地表数据进行轮廓生成、通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等。通过内建的脚本语言或众多的批处理转换选项能够高效地完成重复性任务可以浏览、合成、输入、输出大部分流行的扫描点阵图、等高线、矢量数据集的软件,它可以编辑、转换、打印各类地图图形文件,可以利用全球情报系统(GIS) 信息资源。它可以转换数据集的投影方式以符合你的项目的座标系统,并可以同时对数据集的范围进行裁剪。它还提供距离和面积计算,光栅混合、对比度调节、海拔高度查询、视线计算,以及一些高级功能,如图像校正、通过地表数据进行轮廓生成、通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等。通过内建的脚本语言或众多的批处理转换选项能够高效地完成重复性任务5 147浏览会员免费
- ArcGIS API for Flex实现在Flex程序中浏览自己的ArcGIS.Server.9.3中发布的地图,一个最基本的入门例子。 目錄 一、ArcGIS.Server.9.3和ArcGIS API for Flex实现基本的地图浏览(一)........................................................................ 3 二、ArcGIS.Server.9.3和ArcGIS API for Flex实现动态图层和瓦片图层叠加显示(二)...................................................................... 5 三、ArcGIS.Server.9.3和ArcGIS API for Flex实现自己的Toc控件(三) .............................................................................. 8 四、ArcGIS.Server.9.3和ArcGIS API for Flex实现Toolbar功能(四)........................................................................ 16 五、ArcGIS.Server.9.3和ArcGIS API for Flex实现GraphicsLayer上画点、线、面(五) ..................................................................... 20 六、ArcGIS.Server.9.3和ArcGIS API for Flex实现Identify的功能图查属性(六)........................................................................ 24 七、ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)........................................................................ 30 八、ArcGIS.Server.9.3和ArcGIS API for Flex实现MapTips(八)........................................................................ 37 九、ArcGIS.Server.9.3和ArcGIS API for Flex在MapTips显示饼图数据统计(九) ............................................................................. 41 十、ArcGIS.Server.9.3和ArcGIS API for Flex的GeometryService和buffer分析(十)...................................................................... 48 十一、ArcGIS.Server.9.3和ArcGIS API for Flex的GeometryService和量算距离面积(十一)............................................................................54 十二、ArcGis的SanFrancisco网络数据集制作(网络分析数据篇)............59 十三、ArcGIS.Server.9.3和ArcGIS API for Flex的GeoprocessingServices和服务区分析(十二)......................................................... 67十四、ArcGIS.Server.9.3和ArcGIS API for Flex的GeoprocessingServices和最短路径分析(十三)............................. ..................... ........... ........ . 725 153浏览会员免费
- SAS大小:13MBSAS编程技术教程(朱世武)数据集ResDat及全书程序集合,由于此包比较大,所以分为2部分下载,下载后自解压合并2部分即可.SAS编程技术教程(朱世武)数据集ResDat及全书程序集合,由于此包比较大,所以分为2部分下载,下载后自解压合并2部分即可.5 243浏览会员免费
- 其他资源大小:19MB软件介绍: 南瑞继保SCD配置工具不需要注册码,安装后即可使用。安装及运行:直接运行安装包程序Setup.exe,将安装目录制定为浅显、易找的路径,安装完毕,在桌面会生成快捷方式。SCD运行目录下,BIN目录为运行程序目录,SCLConfigurator.exe为SCD组态程序,ICD目录为需要导入的ICD存放目录,CID目录为单独导出的CID文件所在目录,Export为导出CID及GOOSE的目录,SCD为存放SCD文件的目录,SSD为存放SSD文件的目录。SCD配置工具可以记录SCD文件的历史修改记录,编辑全站一次接线图,映射物理子网结构到SCD中,可配置每个IED的通讯参数、报告控制块、GO0SE控制块、SMV控制块、数据集、GOOSE连线、SMV连线、DOI描述等。软件介绍: 南瑞继保SCD配置工具不需要注册码,安装后即可使用。安装及运行:直接运行安装包程序Setup.exe,将安装目录制定为浅显、易找的路径,安装完毕,在桌面会生成快捷方式。SCD运行目录下,BIN目录为运行程序目录,SCLConfigurator.exe为SCD组态程序,ICD目录为需要导入的ICD存放目录,CID目录为单独导出的CID文件所在目录,Export为导出CID及GOOSE的目录,SCD为存放SCD文件的目录,SSD为存放SSD文件的目录。SCD配置工具可以记录SCD文件的历史修改记录,编辑全站一次接线图,映射物理子网结构到SCD中,可配置每个IED的通讯参数、报告控制块、GO0SE控制块、SMV控制块、数据集、GOOSE连线、SMV连线、DOI描述等。0 4311浏览会员免费
- 三调符号库大小:651KB地图符号、注记类型、色彩方案和坐标系统等进行统一管理。商用GIS软件系统都带有地图符号库,除了库中包含很多基本的地图符号和相关要素外,还提供符号或符号库定制功能。 按照《第三次全国土地调查技术规程》(TD/T1055-2019版)修改制作的最全符号库地图符号、注记类型、色彩方案和坐标系统等进行统一管理。商用GIS软件系统都带有地图符号库,除了库中包含很多基本的地图符号和相关要素外,还提供符号或符号库定制功能。 按照《第三次全国土地调查技术规程》(TD/T1055-2019版)修改制作的最全符号库3 5165浏览会员免费
- 目录 第一章 起步篇................................................................................................................. 9 本章概述................................................................................................................... 9 撰写本书的背景................................................................................................. 9 如何使用本书..................................................................................................... 9 IDL 所需的版本............................................................................................... 10 IDL 运行期间所需颜色的数量.......................................................................... 10 少于 150 种颜色该怎样?.......................................................................... 10 多于 256 种颜色该怎样?.......................................................................... 10 创建 IDL 的启动文件................................................................................................11 本书的风格习惯.......................................................................................................11 大写..................................................................................................................11 注释................................................................................................................. 12 续行符............................................................................................................. 12 本书中所用的 IDL 程序和数据文件.......................................................................... 13 安装程序和数据文件........................................................................................ 13 下载本书所用的程序和数据文件....................................................................... 13 拷贝数据文件................................................................................................... 14 获取更多的帮助............................................................................................... 14 使用 IDL 命令......................................................................................................... 14 IDL 命令解析................................................................................................... 15 位置参数................................................................................................... 15 关键字参数............................................................................................... 15 IDL 过程和函数........................................................................................ 16 用 IDL 命令帮助........................................................................................ 16 创建命令日志............................................................................................ 17 创建变量.......................................................................................................... 17 动态改变变量的属性................................................................................. 18 注意整型变量............................................................................................ 19 使用矢量和数组...................................................................................................... 20 创建矢量.......................................................................................................... 20 数组下标的应用............................................................................................... 21 数组的建立...................................................................................................... 21 使用 IDL 图形窗口.................................................................................................. 22 图形窗口的建立............................................................................................... 22 确定当前图形窗口............................................................................................ 23 删除图形窗口................................................................................................... 23 图形窗口的位置和尺寸..................................................................................... 24 将图形窗口设置到显示器最前面....................................................................... 24 第二章 简单的图形显示............................................................................................... 25 本章概述................................................................................................................. 25 IDL 中简单的图形显示............................................................................................ 25 3 创建线画图............................................................................................................. 25 定制线画图............................................................................................................. 28 改变线条的线型和粗细..................................................................................... 28 用符号代替线条表示数据................................................................................. 29 用线条和符号来显示数据.......................................................................... 30 创建自己的图形符号................................................................................. 30 用不同的颜色绘制线画图................................................................................. 31 限定线画图的范围............................................................................................ 31 改变线画图的风格............................................................................................ 32 在线画图上绘出多种数据集..................................................................................... 34 第三章 图像数据处理.................................................................................................... 35 本章概要................................................................................................................. 35 图像处理................................................................................................................. 35 显示图像.......................................................................................................... 36 用颜色表分段表示图像.............................................................................. 38 在 24 位显示器上用不同的颜色表显示图像................................................ 39 控制图像显示顺序..................................................................................... 41 改变图像尺寸............................................................................................ 41 在显示窗口中定位图像.............................................................................. 42 用归一化的坐标来定位图像....................................................................... 43 从显示器中读取图像................................................................................. 45 在 24 位显示器上抓屏............................................................................... 45 IDL 中基本的图像处理..................................................................................... 46 直方图均衡化............................................................................................ 46 平滑图像................................................................................................... 47 消除图像噪声............................................................................................ 49 增强图像边缘............................................................................................ 49 图像的频域滤波........................................................................................ 50 第四章 图形显示技术.................................................................................................... 52 本章概要................................................................................................................. 52 IDL 的颜色运用...................................................................................................... 53 使用索引颜色模式和 RGB颜色模式................................................................. 53 静态与动态颜色视觉........................................................................................ 54 在 8 位显示器上指定颜色................................................................................. 54 在 24 位显示器上指定分解后的颜色................................................................. 55 在 24 位显示设备上指定没有分解过的颜色....................................................... 56 决定颜色分解的开与关..................................................................................... 56 在 24 位显示设备上装载颜色表........................................................................ 57 获得颜色表的拷贝............................................................................................ 57 修改和创建颜色表............................................................................................ 58 创建自己的轴标注................................................................................................... 60 调整轴刻度间隔............................................................................................... 60 格式化轴的标注............................................................................................... 61 编写刻度格式函数............................................................................................ 62 4 用 IDL 处理残缺的数据.................................................................................... 64 用 IDL 建立三维坐标系.................................................................................... 66 建立三维散点图........................................................................................ 66 从图形原点定位 3D 坐标轴........................................................................ 68 组合简单图形显示............................................................................................ 69 第五章 图形显示技巧................................................................................................... 71 本章概要................................................................................................................. 71 将光标用于图形显示............................................................................................... 72 什么时候返回的光标位置?.............................................................................. 72 哪一个鼠标键和光标共同作用呢?................................................................... 73 用光标标注图形输出........................................................................................ 73 在图像上使用 Cursor 命令......................................................................... 74 在循环中使用 Cursor 命令......................................................................... 76 从显示中删除注释................................................................................................... 76 删除注释的异或法............................................................................................ 76 删除注释的设备拷贝法..................................................................................... 78 画一个橡皮筋方框................................................................................................... 80 图形窗口的滚动............................................................................................... 81 Z图形缓冲区中的图形显示技巧.............................................................................. 82 Z图形缓冲区的实现......................................................................................... 82 一个 Z图形缓冲区实例:两个曲面................................................................... 83 使 Z图形缓冲区成为当前设备................................................................... 83 配置 Z图形缓冲区.................................................................................... 83 将物体装入到 Z图形缓冲区中................................................................... 83 对投影面进行拍照..................................................................................... 84 在显示设备上显示结果.............................................................................. 84 Z图形缓冲区的一些奇怪特点........................................................................... 84 用 Z图形缓冲区使图像变形............................................................................. 85 Z图形缓冲区中的透明效果.............................................................................. 87 将 Z图形缓冲区效果与体数据着色相结合........................................................ 87 第六章 在IDL 中读写数据............................................................................................. 88 本章概要................................................................................................................. 88 打开文件进行读写................................................................................................... 89 查找和选择数据文件............................................................................................... 89 选择文件名...................................................................................................... 89 选择目录名...................................................................................................... 90 寻找文件.......................................................................................................... 90 构造文件名...................................................................................................... 91 获取逻辑设备号...................................................................................................... 91 直接使用逻辑设备号........................................................................................ 91 让 IDL 管理逻辑设备号.................................................................................... 92 判断哪些文件和哪些逻辑设备号相连................................................................ 92 读写格式化数据........................................................................................ 92 写自由格式文件........................................................................................ 92 5 读自由格式文件........................................................................................ 93 读取自由格式文件的规则.......................................................................... 93 读写自由格式文件的实例.......................................................................... 95 用确定的文件格式写入.............................................................................. 99 从字符串中读取格式数据.........................................................................100 读写二进制数据.....................................................................................................100 读取二进制图像数据文件................................................................................101 写二进制图像数据文件....................................................................................102 读取带有文件头的二进制数据文件..................................................................102 二进制数据文件的一些问题.............................................................................103 用关联变量存取二进制数据文件......................................................................104 关联变量的一些优点................................................................................104 定义关联变量...........................................................................................104 读写常用文件格式的文件................................................................................106 创建彩色 GIF 文件...................................................................................106 写 GIF 文件..............................................................................................106 读 GIF 文件..............................................................................................107 创建彩色 JPEG 文件.................................................................................107 写 JPEG 文件...........................................................................................108 读取 JPEG 文件........................................................................................108 查询图像文件信息....................................................................................109 第七章 图形硬拷贝输出................................................................................................110 本章概要................................................................................................................110 选择图形硬拷贝输出设备.......................................................................................110 配置图形硬拷贝输出设备....................................................................................... 111 测定当前的设备配置....................................................................................... 111 常用的 Device命令关键字...............................................................................112 创建 PostScript 文件........................................................................................113 将图形送到硬拷贝设备中.......................................................................................113 在运行 MacOS 系统的计算机上打印 PostScript 文件.........................................115 在 Windows 计算机上打印PostScript 文件........................................................115 生成封装的 PostScript 文件输出..............................................................................116 封装 PostScript 图形的预览..............................................................................116 生成彩色的 PostScript 输出..............................................................................116 PostScript 中的彩色图像与灰度图像........................................................................117 真彩图像.........................................................................................................117 在 PostScript 设备上创建高质量的输出...................................................................118 显示设备和 PostScript 设备之间的相同点.........................................................118 第八章 IDL 编程基础....................................................................................................129 本章概述................................................................................................................129 编写 IDL 批处理文件..............................................................................................129 编写 IDL 主程序.....................................................................................................130 编写 IDL 过程........................................................................................................131 过程和与函数中变量的作用范围......................................................................132 6 创建位置参数..................................................................................................132 定义可选的或必须的位置参数.........................................................................133 定义关键字.....................................................................................................134 使用缩写关键字..............................................................................................134 定义可选择的关键字.......................................................................................135 处理具有双重属性的关键字.............................................................................136 创建输出型参数..............................................................................................137 用引用和传值的方法传递信息.........................................................................137 参数存在吗.....................................................................................................139 编写 IDL 函数........................................................................................................140 方括号和函数的调用.......................................................................................142 用 Forward_Function 命令保留函数名...............................................................142 使用程序控制语句...........................................................................................142 IDL 中表达式的真和假....................................................................................142 将多个语句处理成单个语句.............................................................................143 If…Then…Else 控制语句.................................................................................144 FOR 循环控制语句..........................................................................................145 WHILE 循环控制语句 .....................................................................................145 REPEAT...UNTIL 循环控制语句......................................................................146 CASE控制语句...............................................................................................146 GOTO控制语句..............................................................................................147 错误处理控制语句...........................................................................................147 ON_Error 控制语句.........................................................................................147 Catch 控制语句...............................................................................................148 错误处理语句的优先级....................................................................................149 编译和执行 IDL 程序模块................................................................................149 程序编译规则...........................................................................................150 程序编译和自动运行规则.........................................................................150 特殊编译命令...........................................................................................150 用打印设备定位图形.......................................................................................151 用打印设备输出图像.......................................................................................152 第九章 编写 IDL 程序.................................................................................................153 本章概述................................................................................................................153 基本的 ImageBar 程序.............................................................................................153 向 ImageBar 程序增加颜色敏感功能.................................................................156 给 ImageBar 中的命令传递关键字....................................................................158 使用关键字继承.......................................................................................158 根据窗口大小改变字符大小.............................................................................160 程序 ImageBar 的最终代码...............................................................................161 在图形用户界面中包装 ImageBar .....................................................................162 第十章 编写简单的组件程序.........................................................................................163 本章概述................................................................................................................163 组件程序的结构.....................................................................................................163 组件程序如何对事件作出反应.........................................................................164 7 编写组件定义模块...........................................................................................164 定义和创建程序组件.......................................................................................165 创建顶层 base组件..........................................................................................165 创建菜单栏按钮..............................................................................................166 为程序创建图形窗口.......................................................................................166 在屏幕上实现组件....................................................................................166 使绘图组件成为当前图形窗口..................................................................167 在绘图组件窗口上显示图形......................................................................167 保存程序运行时所需要的信息.........................................................................167 使用组件用户值保存程序信息..................................................................168 创建事件循环和注册程序.........................................................................168 运行程序.........................................................................................................168 创建无阻塞组件程序................................................................................169 第十一章 组件编程技巧................................................................................................175 本章概述................................................................................................................175 改变颜色表............................................................................................................176 保护公共块............................................................................................................176 一个可选择颜色表的工具.......................................................................................177 一个关键字继承的问题...........................................................................................177 给组件程序增加 Group Leader.................................................................................180 在 24 位显示器上改变颜色表..................................................................................181 创建事件并将事件传递给其它程序.........................................................................181 在组件程序中使用指针...........................................................................................183 使用 Cleanup 过程防止内存泄露.............................................................................185 使用伪事件进行程序通信.......................................................................................186 创建一个具有“ 记忆功能” 的程序.............................................................................187 保护组件程序的颜色..............................................................................................189 通过组件跟踪事件来保护颜色................................................................................190 通过绘图组件事件来保护颜色................................................................................191 保存或者发布程序的图形.......................................................................................192 第十二章 对话框程序...................................................................................................195 本章概述................................................................................................................195 创建模式对话框.....................................................................................................195 阻塞的组件程序..............................................................................................195 模式组件程序..................................................................................................196 编写模式对话框的定义模块.............................................................................196 定义一个顶级的模式 base.........................................................................197 定义其他组件...........................................................................................198 在模式对话框中保存信息.........................................................................198 创建 Info 结构..........................................................................................199 创建一个阻塞组件....................................................................................199 从阻塞中返回...........................................................................................199 编写模式对话框的事件处理模块......................................................................200 测试模式对话框程序.......................................................................................201 8 创建非模式的对话框..............................................................................................201 编写非模式对话框程序....................................................................................202 通报程序事件的组件.......................................................................................203 编写非模式对话框的事件处理模块..................................................................204 将事件发送给其他组件.............................................................................204 测试非模态对话程序.......................................................................................205 附录 A 组件的事件结构................................................................................................206 事件结构的定义.....................................................................................................206 公共字段的定义.....................................................................................................206 基本组件的事件结构..............................................................................................207 base组件.........................................................................................................207 按钮组件.........................................................................................................207 绘图组件.........................................................................................................207 下拉式列表组件..............................................................................................207 标签组件.........................................................................................................208 列表组件.........................................................................................................208 滑动条组件.....................................................................................................208 表单组件.........................................................................................................208 插入单个字符事件....................................................................................208 插入字符串事件.......................................................................................208 删除字符串事件.......................................................................................208 选择文本事件...........................................................................................209 选择单元事件...........................................................................................209 改变行高事件...........................................................................................209 改变列宽事件...........................................................................................209 无效数据事件...........................................................................................209 文本组件.........................................................................................................210 插入字符事件...........................................................................................210 插入字符串事件.......................................................................................210 删除字符串事件.......................................................................................210 文本选择事件...........................................................................................210 复合组件的事件结构................................................................................210 组件程序的事件结构................................................................................211 其他组件的事件结构................................................................................2125 427浏览会员免费
- K-均值大小:7KB基于遗传算法的k-均值聚类算法源代码(c++实现) iris wine glass 数据集自己到UCI网站去下载基于遗传算法的k-均值聚类算法源代码(c++实现) iris wine glass 数据集自己到UCI网站去下载5 323浏览会员免费
- 数据集大小:812B西瓜数据集3.0 包括(3.0和3.0a) watermelon_3.csv watermelon_3a.csv西瓜数据集3.0 包括(3.0和3.0a) watermelon_3.csv watermelon_3a.csv0 9751浏览会员免费
- matlab大小:1KB程序画的图和文章比对过,程序是对的。程序中只有散射系数、吸收系数、消光系数、后向散射系数、不对称因子,需要计算场的话没有。程序画的图和文章比对过,程序是对的。程序中只有散射系数、吸收系数、消光系数、后向散射系数、不对称因子,需要计算场的话没有。5 3987浏览会员免费
- 本书以易于理解的方式讲述了时间序列模型及其应用,主要内容包括:趋势、平稳时间序列模型、非平稳时间序列模型、模型识别、参数估计、模型诊断、预测、季节模型、时间序列回归模型、异方差时间序列模型、谱分析入门、谱估计、门限模型.对所有的思想和方法,都用真实数据集和模拟数据集进行了说明., 本书可作为高等院校统计、经济、商科、工程及定量社会科学等专业学生的教材或教学参考书,同时也可供相关技术人员使用.5 797浏览会员免费
- spark大小:81KB不到一百行的代码教你在spark平台中使用scala实现kmeans算法。简单易懂,大量注释。适合初学者参考理解。本程序在intelliJ IDEA2016.1.1 中编程,运行在spark1.6.1 scala2.10.4本地模式下运行成功。 数据集:(其实‘,’前面的1.0 0.0没用,不过不能删除,除非你修改代码中的数据解析代码) 1.0,0.0 1.1 0.1 0.0,2.0 1.0 -1.0 0.0,2.0 1.3 1.0 1.0,0.0 1.2 -0.5 1.0,1.0 1.4 0.8 1.0,0.3 1.5 1.1 0.0,2.1 1.0 -1.0 0.0,1.0 2.3 1.3 1.0,0.2 0.2 -1.5 1.0,1.0 1.4 2.8不到一百行的代码教你在spark平台中使用scala实现kmeans算法。简单易懂,大量注释。适合初学者参考理解。本程序在intelliJ IDEA2016.1.1 中编程,运行在spark1.6.1 scala2.10.4本地模式下运行成功。 数据集:(其实‘,’前面的1.0 0.0没用,不过不能删除,除非你修改代码中的数据解析代码) 1.0,0.0 1.1 0.1 0.0,2.0 1.0 -1.0 0.0,2.0 1.3 1.0 1.0,0.0 1.2 -0.5 1.0,1.0 1.4 0.8 1.0,0.3 1.5 1.1 0.0,2.1 1.0 -1.0 0.0,1.0 2.3 1.3 1.0,0.2 0.2 -1.5 1.0,1.0 1.4 2.85 1056浏览会员免费
- PLSQL大小:31KBPL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少用 只适合ORACLE; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言; 2) Oracle客户端工具访问Oracle服务器的操作语言; 3) Oracle对SQL的扩充; 4. PL/SQL的优缺点 优点:1) 结构化模块化编程,不是面向对象; 2) 良好的可移植性(不管Oracle运行在何种操作系统); 3) 良好的可维护性(编译通过后存储在数据库里); 4) 提升系统性能; 缺点 1) 不便于向异构数据库移植应用程序(只能用于Oracle); 5. SQL与PL/SQL的区别 SQL:1) 第四代语言(智能语言); 2) 做什么,不管怎么做; 3) 缺少过程与控制语句; 4) 无算法 PL/SQL: (相对SQL扩展部分) 1) 扩展变量和类型; 2) 扩展控制结构; 3) 扩展过程与函数; 4) 扩展对象类型与方法 ---- 第二章 PL/SQL程序结构 ---- 1. PL/SQL块 1) 申明部分, DECLARE (如果语句不需要声明任何变量,可以不写); 2) 执行部分, BEGIN <---------> END; 3) 异常处理,EXCEPTION(可以没有); 2. PL/SQL开发环境 可以运用任何纯文本的编辑器编辑,例如:VI 3. PL/SQL字符集 字母: A-Z, a-z; 数字: 0-9; 空白: TAB , SPACE , 回车; 符号: +_)(*&^%$#@!~ ; PL/SQL对大小写不敏感(注意) 4. 标识符命名规则答: 1) 字母开头; 2) 后跟任意的 非空格字符 数字 货币符号( $ ) 下划线( _ ) 或 # ; 3) 最大长度为30个字符(八个字符左右最合适); 用来给对象命名(潜规则): 变量: 以v_开头 游标: 以c_开头 类型: 子程序: 5. 分界符 1) 运算符 + - * / **(指数操作符) 2) 关系 =(相当于JAVA中的==) > < <> != ~= ^= <= >= 3) 赋值 := 例子a:=2 4) 连接 || 例: 'abc' || 123 5) 标号 << 需要的标记 >> 6) 注释 --(单行) /* */(段落) 7) 替代 <scape> <tab> <enter> 6. 文字 1)字符型文字(字符串) 'tom' (单引号) 'tom''s pen' ''为2个单引号(标识转义) 为tom's pen 2)数字型 123 -4 +56 0 9.0 1.23E5 9.8e-3 3)布尔型 TRUE FALSE NULL 7. 变量声明 语法 Var_name [CONSTANT](标识常量,可选) type [NOT NULL](标识为not-null后必须在后面初始化) [:=value](赋值,初始化); Var_name [CONSTANT](标识常量,可选) type [NOT NULL] [ default value](赋值,初始化)等同于上面的语句; 注:1) 申明时可以有默认值也可以没有; 2) 如有[CONSTANT][NOT NULL], 变量一定要有一个初始值; 3) 赋值语句为“:=”; 4) 变量可以认为是数据库里一个字段; 5) 规定没有初始化的变量为NULL; ---- 第三章 变量与数据类型 ---- 1. 数据类型 1) 标量型:数字型(BINARY_INTEGER,NUMBER)(DEC,FLOAT,REAL... NUMBER的子类型)、 NUMBER(P,S) P:精度:整个的有效数位(从左边开始第一个不为0的数字起) S:刻度,可选(小数点后面的保留位数) BINARY_INTEGER:保存整数. 和NUMBER的底层的保存方式不同, BINARY_INTEGER为2进制保存,NUMBER 需要考虑其他东西不是2进制方式 BINARY_INTEGER之间做加法效率快而NUMBER要先转换2进制再计算 单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2就够了 CHAR 定长(例子:CHAR(5) 如果不够5个字符的话就会用空白填充 ) ,可以不带长度规定(默认为1) VARCHAR2 变长((VARCHAR2(5)标识最长可以保存5个字符) 后面的长度规定必须要有 布尔型、BOOLEAN 日期型; DATE(后增加 TIMESTAMP(比DATE更精细点(精确到秒) INTERVAL) 一般用DATE 2) 组合型:RECORD(常用)、TABLE(常用)、VARRAY(较少用) 3) 参考型:REF CURSOR(游标)、REF object_type 4) LOB(Large Object) 2. %TYPE [变量名] [表名.字段名] [%TYPE] 表示变量具有与数据库的表中某一字段相同的类型 例:v_FirstName s_emp.first_name%TYPE; 3. RECORD类型 TYPE t_emp IS RECORD( /*其中TYPE,IS,RECORD为关键字,record_name为变量名称*/ field1 type [NOT NULL][:=expr1], /*每个等价的成员间用逗号分隔*/ field2 type [NOT NULL][:=expr2], /*如果一个字段限定NOT NULL,那么它必须拥有一个初始值*/ ... /*所有没有初始化的字段都会初始为NULL*/ fieldn type [NOT NULL][:=exprn] ); 4. %ROWTYPE 返回一个基于数据库定义的类型 DECLARE v_emp s_emp%ROWTYPE; /*s_emp为表的名字*/ 注:与RECORD类型中定一个record相比,一步就完成, 而RECORD类型中定义分二步:a. 所有的成员变量都要申明; b. 实例化变量; 可以代替RECORD类型. 5. TABLE类型 TYPE tabletype IS TABLE OF type(类型名,要保存成的数据类型) INDEX BY BINARY_INTEGER; 例:DECLARE TYPE t_emp IS TABLE OF s_emp%ROWTYPE INDEX BY BINARY_INTERGER; v_emp t_emp; BEGIN SELECT * INTO v_emp(100) FROM s_emp WHERE id = 1; SELECT * INTO v_emp(200) FROM s_emp WHERE id = 2; DBMS_OUTPUT.PUT_LINE(v_emp(200).id||' '||v_emp(200).lastname||' '||v_emp(200).salary); END; 注:1) id(索引) 的数目的限制由BINARY_INTEGER的范围决定(-2147483647<----->2147483647); 2) TABLE类型与map<int,_T>类似; 3) 表中的元素可以是复合类型; 4) KEY 没有必要是顺序的; 5) 当数据被插入表中的时候,表所需的空间就被分配了; 6. 变量的作用域和可见性 <<outer>> 1) 执行块里可以嵌入执行块; 2) 里层执行块的变量对外层不可见; 3) 里层执行块对外层执行块变量的修改会影响外层块变量的值 (在此里层,对其他里层则不影响,想要不影响此里层的话可以使用标号标注外层); ---- 第四章 PL/SQL控制语句 ---- 1. 条件语句 IF boolean_expression1(条件1) THEN ... ELSIF boolean_expression2(条件2) THEN /*注意是ELSIF,而不是ELSEIF*/ ... /*ELSE语句(ELSIF)不是必须的,但END IF;是必须的*/ ELSE ... END IF; 注意:1)有多个BOOLEAN表达式时候 AND(与),OR(或),NOT(非) 2)条件为FALSE与TRUE 相同; 2. 循环语句 1) Loop 循环 Loop ... (循环体) IF boolean_expr(条件) THEN /* 加条件语句,当满足条件时候退出循环*/ EXIT; /* EXIT WHEN boolean_expr */ END IF; END LOOP; 2) WHILE 循环 WHILE boolean_expr(条件) LOOP /* boolean_expr 循环条件*/ ... (循环体) END LOOP; 3) FOR循环 FOR loop_counter IN [REVERSE] low_bound..high_bound LOOP /* 范围中间用2个点表示 从 low_blound 到 high_bound */ ... (循环体) END LOOP; 例: FOR v_cnt IN 1..5 LOOP SELECT * INTO v_emp FROM s_emp WHERE id = v_cnt; 注:a. 加上REVERSE关键字 表示递减,从结束边界到起始边界,递减步长为一; 不加为递增,从起始边界到结束边界,递减步长为一; b. low_blound 起始边界; high_bound 结束边界; 3. GOTO语句 GOTO label_name; 1) 只能由内部块跳往外部块; 2) 设置标签:<< >> 3) 示例: LOOP ... IF D%ROWCOUNT = 50 THEN GOTO l_close; END IF; ... END LOOP; <<l_close>>: ... 4. NULL语句 在语句块中加空语句,用于补充语句的完整性。 例:IF boolean_expr THEN ... ELSE NULL; END IF; 5. SQL in PL/SQL 1) 只有DML SQL和transaction Control SQL可以直接在PL/SQL中使用; 2) PL/SQL中的动态SQL可以使用所有有效的SQL语句,包括DDL; 3) 动态SQL在运行时动态生成SQL语句,然后分析语句并执行; 4) PL/SQL中的动态SQL有两种:本地动态SQL和DBMS_SQL包; ---- 第五章 PL/SQL游标 ---- 1. 游标(CURSOR) 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数 据指针,在初始状态下指向的是首记录,利用 fetch 语句可以移动该指针,从而对游标中的数 据进行各种操作,然后将操作结果写回数据表中。 1)分类: a)显式游标:程序员可以操作控制,是针对select 语句的,指向select 语句的结束集 b)隐式游标:程序员不可控制,但可以有限制的应用 2)作用:用于处理查询语句的结果,提取多行数据集; 3)使用步骤: a) 声明游标: a. 普通声明: DELCARE v_emp s_emp%ROWTYPE; v_did s_dept.id%TYPE; CURSOR cur_emp IS select * FROM s_emp WHERE dept_id =v_did; /* CURSOR的内容必须是一条查询语句 */ b. 带参数声明明:DELCARE CURSOR c_emp(v_did s_emp.ID%TYPE) SELECT * FROM s_emp WHERE dept_id = v_did; b) 为查询打开游标: OPEN cur_emp; /* 相当于执行select语句,且把执行结果存入CURSOR; c) 从游标中取结果,存入PL/SQL变量中: a. FETCH cur_emp INTO var1, var2, ...(变量名 1, 变量名 2,.......); /* 变量的数量、类型、顺序要和Table中字段一致; */ b. FETCH cur_emp INTO record_var(记录型变量名); 注:将值从CURSOR取出放入变量中,每FETCH一次取一条记录; d) 关闭游标: CLOSE cur_emp; 注:a. 游标使用后应该关闭; b. 关闭后的游标不能FETCH和再次CLOSE; c. 关闭游标相当于将内存中CURSOR的内容清空; 2. 游标的属性 游标名%属性名 1) %FOUND: 是否有值; 有则返回TRUE,否则返回FALSE; 2) %NOTFOUND: 是否没有值; 如果没有值则返回TRUE,否则返回FALSE; 3) %ISOPEN: 是否是处于打开状态; 处于打开状态就返回TRUE,否则返回FALSE; 4) %ROWCOUNT: CURSOR当前的记录号(当前游标的指针位移量,表示在此之前,游标所处理的数据量(多少条记录)); 3. 游标的FETCH循环 1) LOOP FETCH 游标名 INTO 定义的变量 EXIT WHEN 游标名%NOTFOUND; /* 当游标没取道记录后退出 要及时的做出判断 */ END LOOP; 2) WHILE 游标名%FOUND LOOP FETCH 游标名 INTO 定义的变量; END LOOP; 3) FOR 保存数据的变量(不用事先定义,是根据游标声明的时候SELECT 的类型来确定) IN 游标名 LOOP (FETCH 游标名 INTO ...) (可以不用FETCH 语句) END LOOP; 4.带参数的游标CURSOR DECLARE v_emp s_emp%ROWTYPE CURSOR cur_emp(p_did s_emp.dept_id%TYPE) IS /* 定义参数p_did的类型 */ SELECT * FROM s_emp WHERE dept_id= p_did FOR UPDATE OF salary; /*FOR UPDATE OF salary; 加行级锁,在我修改这些数据的时候, *其他人无法修改数据,直到游标被CLOSE后 */ BEGIN OPEN cur_emp(31); /*带的参数值 31 就是赋给参数p_did 的 */ LOOP FETCH cur_emp INTO v_emp; EXIT WHEN cur_emp%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_emp.id||' '||v_emp.first_name); END LOOP; CLOSE cur_emp; END 5.显式游标主要是用于对查询语句的处理,尤其是在查询结果为多条记录的情况下; 而对于非查询语句,如修改、删除操作,则由ORACLE 系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标,隐式游标的名字为SQL,这是由ORACLE 系统定义的。 对于隐式游标的操作,如定义、打开、取值及关闭操作,都由ORACLE 系统自动地完成,无需用户进行处理。 用户只能通过隐式游标的相关属性,来完成相应的操作。 在隐式游标的工作区中,所存放的数据是与用户自定义的显示游标无关的、最新处理的一条SQL 语句所包含的数据。 格式调用为: SQL% 注:INSERT, UPDATE, DELETE, SELECT 语句中不必明确定义游标。 隐式游标属性 SQL%FOUND 布尔型属性,当最近一次读记录时成功返回,则值为true; SQL%NOTFOUND 布尔型属性,与%found相反; SQL %ROWCOUNT 数字型属性, 返回已从游标中读取得记录数; SQL %ISOPEN 布尔型属性, 取值总是FALSE。SQL命令执行完毕立即关闭隐式游标。PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少用 只适合ORACLE; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言; 2) Oracle客户端工具访问Oracle服务器的操作语言; 3) Oracle对SQL的扩充; 4. PL/SQL的优缺点 优点:1) 结构化模块化编程,不是面向对象; 2) 良好的可移植性(不管Oracle运行在何种操作系统); 3) 良好的可维护性(编译通过后存储在数据库里); 4) 提升系统性能; 缺点 1) 不便于向异构数据库移植应用程序(只能用于Oracle); 5. SQL与PL/SQL的区别 SQL:1) 第四代语言(智能语言); 2) 做什么,不管怎么做; 3) 缺少过程与控制语句; 4) 无算法 PL/SQL: (相对SQL扩展部分) 1) 扩展变量和类型; 2) 扩展控制结构; 3) 扩展过程与函数; 4) 扩展对象类型与方法 ---- 第二章 PL/SQL程序结构 ---- 1. PL/SQL块 1) 申明部分, DECLARE (如果语句不需要声明任何变量,可以不写); 2) 执行部分, BEGIN <---------> END; 3) 异常处理,EXCEPTION(可以没有); 2. PL/SQL开发环境 可以运用任何纯文本的编辑器编辑,例如:VI 3. PL/SQL字符集 字母: A-Z, a-z; 数字: 0-9; 空白: TAB , SPACE , 回车; 符号: +_)(*&^%$#@!~ ; PL/SQL对大小写不敏感(注意) 4. 标识符命名规则答: 1) 字母开头; 2) 后跟任意的 非空格字符 数字 货币符号( $ ) 下划线( _ ) 或 # ; 3) 最大长度为30个字符(八个字符左右最合适); 用来给对象命名(潜规则): 变量: 以v_开头 游标: 以c_开头 类型: 子程序: 5. 分界符 1) 运算符 + - * / **(指数操作符) 2) 关系 =(相当于JAVA中的==) > < <> != ~= ^= <= >= 3) 赋值 := 例子a:=2 4) 连接 || 例: 'abc' || 123 5) 标号 << 需要的标记 >> 6) 注释 --(单行) /* */(段落) 7) 替代 <scape> <tab> <enter> 6. 文字 1)字符型文字(字符串) 'tom' (单引号) 'tom''s pen' ''为2个单引号(标识转义) 为tom's pen 2)数字型 123 -4 +56 0 9.0 1.23E5 9.8e-3 3)布尔型 TRUE FALSE NULL 7. 变量声明 语法 Var_name [CONSTANT](标识常量,可选) type [NOT NULL](标识为not-null后必须在后面初始化) [:=value](赋值,初始化); Var_name [CONSTANT](标识常量,可选) type [NOT NULL] [ default value](赋值,初始化)等同于上面的语句; 注:1) 申明时可以有默认值也可以没有; 2) 如有[CONSTANT][NOT NULL], 变量一定要有一个初始值; 3) 赋值语句为“:=”; 4) 变量可以认为是数据库里一个字段; 5) 规定没有初始化的变量为NULL; ---- 第三章 变量与数据类型 ---- 1. 数据类型 1) 标量型:数字型(BINARY_INTEGER,NUMBER)(DEC,FLOAT,REAL... NUMBER的子类型)、 NUMBER(P,S) P:精度:整个的有效数位(从左边开始第一个不为0的数字起) S:刻度,可选(小数点后面的保留位数) BINARY_INTEGER:保存整数. 和NUMBER的底层的保存方式不同, BINARY_INTEGER为2进制保存,NUMBER 需要考虑其他东西不是2进制方式 BINARY_INTEGER之间做加法效率快而NUMBER要先转换2进制再计算 单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2就够了 CHAR 定长(例子:CHAR(5) 如果不够5个字符的话就会用空白填充 ) ,可以不带长度规定(默认为1) VARCHAR2 变长((VARCHAR2(5)标识最长可以保存5个字符) 后面的长度规定必须要有 布尔型、BOOLEAN 日期型; DATE(后增加 TIMESTAMP(比DATE更精细点(精确到秒) INTERVAL) 一般用DATE 2) 组合型:RECORD(常用)、TABLE(常用)、VARRAY(较少用) 3) 参考型:REF CURSOR(游标)、REF object_type 4) LOB(Large Object) 2. %TYPE [变量名] [表名.字段名] [%TYPE] 表示变量具有与数据库的表中某一字段相同的类型 例:v_FirstName s_emp.first_name%TYPE; 3. RECORD类型 TYPE t_emp IS RECORD( /*其中TYPE,IS,RECORD为关键字,record_name为变量名称*/ field1 type [NOT NULL][:=expr1], /*每个等价的成员间用逗号分隔*/ field2 type [NOT NULL][:=expr2], /*如果一个字段限定NOT NULL,那么它必须拥有一个初始值*/ ... /*所有没有初始化的字段都会初始为NULL*/ fieldn type [NOT NULL][:=exprn] ); 4. %ROWTYPE 返回一个基于数据库定义的类型 DECLARE v_emp s_emp%ROWTYPE; /*s_emp为表的名字*/ 注:与RECORD类型中定一个record相比,一步就完成, 而RECORD类型中定义分二步:a. 所有的成员变量都要申明; b. 实例化变量; 可以代替RECORD类型. 5. TABLE类型 TYPE tabletype IS TABLE OF type(类型名,要保存成的数据类型) INDEX BY BINARY_INTEGER; 例:DECLARE TYPE t_emp IS TABLE OF s_emp%ROWTYPE INDEX BY BINARY_INTERGER; v_emp t_emp; BEGIN SELECT * INTO v_emp(100) FROM s_emp WHERE id = 1; SELECT * INTO v_emp(200) FROM s_emp WHERE id = 2; DBMS_OUTPUT.PUT_LINE(v_emp(200).id||' '||v_emp(200).lastname||' '||v_emp(200).salary); END; 注:1) id(索引) 的数目的限制由BINARY_INTEGER的范围决定(-2147483647<----->2147483647); 2) TABLE类型与map<int,_T>类似; 3) 表中的元素可以是复合类型; 4) KEY 没有必要是顺序的; 5) 当数据被插入表中的时候,表所需的空间就被分配了; 6. 变量的作用域和可见性 <<outer>> 1) 执行块里可以嵌入执行块; 2) 里层执行块的变量对外层不可见; 3) 里层执行块对外层执行块变量的修改会影响外层块变量的值 (在此里层,对其他里层则不影响,想要不影响此里层的话可以使用标号标注外层); ---- 第四章 PL/SQL控制语句 ---- 1. 条件语句 IF boolean_expression1(条件1) THEN ... ELSIF boolean_expression2(条件2) THEN /*注意是ELSIF,而不是ELSEIF*/ ... /*ELSE语句(ELSIF)不是必须的,但END IF;是必须的*/ ELSE ... END IF; 注意:1)有多个BOOLEAN表达式时候 AND(与),OR(或),NOT(非) 2)条件为FALSE与TRUE 相同; 2. 循环语句 1) Loop 循环 Loop ... (循环体) IF boolean_expr(条件) THEN /* 加条件语句,当满足条件时候退出循环*/ EXIT; /* EXIT WHEN boolean_expr */ END IF; END LOOP; 2) WHILE 循环 WHILE boolean_expr(条件) LOOP /* boolean_expr 循环条件*/ ... (循环体) END LOOP; 3) FOR循环 FOR loop_counter IN [REVERSE] low_bound..high_bound LOOP /* 范围中间用2个点表示 从 low_blound 到 high_bound */ ... (循环体) END LOOP; 例: FOR v_cnt IN 1..5 LOOP SELECT * INTO v_emp FROM s_emp WHERE id = v_cnt; 注:a. 加上REVERSE关键字 表示递减,从结束边界到起始边界,递减步长为一; 不加为递增,从起始边界到结束边界,递减步长为一; b. low_blound 起始边界; high_bound 结束边界; 3. GOTO语句 GOTO label_name; 1) 只能由内部块跳往外部块; 2) 设置标签:<< >> 3) 示例: LOOP ... IF D%ROWCOUNT = 50 THEN GOTO l_close; END IF; ... END LOOP; <<l_close>>: ... 4. NULL语句 在语句块中加空语句,用于补充语句的完整性。 例:IF boolean_expr THEN ... ELSE NULL; END IF; 5. SQL in PL/SQL 1) 只有DML SQL和transaction Control SQL可以直接在PL/SQL中使用; 2) PL/SQL中的动态SQL可以使用所有有效的SQL语句,包括DDL; 3) 动态SQL在运行时动态生成SQL语句,然后分析语句并执行; 4) PL/SQL中的动态SQL有两种:本地动态SQL和DBMS_SQL包; ---- 第五章 PL/SQL游标 ---- 1. 游标(CURSOR) 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数 据指针,在初始状态下指向的是首记录,利用 fetch 语句可以移动该指针,从而对游标中的数 据进行各种操作,然后将操作结果写回数据表中。 1)分类: a)显式游标:程序员可以操作控制,是针对select 语句的,指向select 语句的结束集 b)隐式游标:程序员不可控制,但可以有限制的应用 2)作用:用于处理查询语句的结果,提取多行数据集; 3)使用步骤: a) 声明游标: a. 普通声明: DELCARE v_emp s_emp%ROWTYPE; v_did s_dept.id%TYPE; CURSOR cur_emp IS select * FROM s_emp WHERE dept_id =v_did; /* CURSOR的内容必须是一条查询语句 */ b. 带参数声明明:DELCARE CURSOR c_emp(v_did s_emp.ID%TYPE) SELECT * FROM s_emp WHERE dept_id = v_did; b) 为查询打开游标: OPEN cur_emp; /* 相当于执行select语句,且把执行结果存入CURSOR; c) 从游标中取结果,存入PL/SQL变量中: a. FETCH cur_emp INTO var1, var2, ...(变量名 1, 变量名 2,.......); /* 变量的数量、类型、顺序要和Table中字段一致; */ b. FETCH cur_emp INTO record_var(记录型变量名); 注:将值从CURSOR取出放入变量中,每FETCH一次取一条记录; d) 关闭游标: CLOSE cur_emp; 注:a. 游标使用后应该关闭; b. 关闭后的游标不能FETCH和再次CLOSE; c. 关闭游标相当于将内存中CURSOR的内容清空; 2. 游标的属性 游标名%属性名 1) %FOUND: 是否有值; 有则返回TRUE,否则返回FALSE; 2) %NOTFOUND: 是否没有值; 如果没有值则返回TRUE,否则返回FALSE; 3) %ISOPEN: 是否是处于打开状态; 处于打开状态就返回TRUE,否则返回FALSE; 4) %ROWCOUNT: CURSOR当前的记录号(当前游标的指针位移量,表示在此之前,游标所处理的数据量(多少条记录)); 3. 游标的FETCH循环 1) LOOP FETCH 游标名 INTO 定义的变量 EXIT WHEN 游标名%NOTFOUND; /* 当游标没取道记录后退出 要及时的做出判断 */ END LOOP; 2) WHILE 游标名%FOUND LOOP FETCH 游标名 INTO 定义的变量; END LOOP; 3) FOR 保存数据的变量(不用事先定义,是根据游标声明的时候SELECT 的类型来确定) IN 游标名 LOOP (FETCH 游标名 INTO ...) (可以不用FETCH 语句) END LOOP; 4.带参数的游标CURSOR DECLARE v_emp s_emp%ROWTYPE CURSOR cur_emp(p_did s_emp.dept_id%TYPE) IS /* 定义参数p_did的类型 */ SELECT * FROM s_emp WHERE dept_id= p_did FOR UPDATE OF salary; /*FOR UPDATE OF salary; 加行级锁,在我修改这些数据的时候, *其他人无法修改数据,直到游标被CLOSE后 */ BEGIN OPEN cur_emp(31); /*带的参数值 31 就是赋给参数p_did 的 */ LOOP FETCH cur_emp INTO v_emp; EXIT WHEN cur_emp%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_emp.id||' '||v_emp.first_name); END LOOP; CLOSE cur_emp; END 5.显式游标主要是用于对查询语句的处理,尤其是在查询结果为多条记录的情况下; 而对于非查询语句,如修改、删除操作,则由ORACLE 系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标,隐式游标的名字为SQL,这是由ORACLE 系统定义的。 对于隐式游标的操作,如定义、打开、取值及关闭操作,都由ORACLE 系统自动地完成,无需用户进行处理。 用户只能通过隐式游标的相关属性,来完成相应的操作。 在隐式游标的工作区中,所存放的数据是与用户自定义的显示游标无关的、最新处理的一条SQL 语句所包含的数据。 格式调用为: SQL% 注:INSERT, UPDATE, DELETE, SELECT 语句中不必明确定义游标。 隐式游标属性 SQL%FOUND 布尔型属性,当最近一次读记录时成功返回,则值为true; SQL%NOTFOUND 布尔型属性,与%found相反; SQL %ROWCOUNT 数字型属性, 返回已从游标中读取得记录数; SQL %ISOPEN 布尔型属性, 取值总是FALSE。SQL命令执行完毕立即关闭隐式游标。4 704浏览会员免费
- stm32大小:771MB洋桃一号开发板例程程序,项目程序,PPT,手册,硬件电路资料洋桃一号开发板例程程序,项目程序,PPT,手册,硬件电路资料5 3148浏览会员免费
- cognos大小:623KBcognos中文帮助 HTTPS 合并了安全套接层(SSL) 的HTTP 超文本传输协议的安全版本。 Cognos 产品使用HTTPS 和SSL 进行加密,并通过Internet 安全地传送密码。 报表 设计周密的用于交流业务信息的数据集。根据上下文,“报表”可能指报表规范或报表输出。 报表(更准确地说是报表规范)是用于由Query Studio、Report Studio 和Analysis Studio 创建或编辑的对象的一般术语。 报表规范 组成报表的查询、提示、布局和样式的定义。通过运行操作可将报表规范与数据组合,以创建报 表输出。您可以通过使用Report Studio、Query Studio、Analysis Studio 或通过软件开发包 创建报表规范。 报表视图 对具有其自己的属性(例如提示值、计划表和结果)的其它报表的引用。 您可以使用报表视图来共享报表规范,而无需制作报表规范的副本。cognos中文帮助 HTTPS 合并了安全套接层(SSL) 的HTTP 超文本传输协议的安全版本。 Cognos 产品使用HTTPS 和SSL 进行加密,并通过Internet 安全地传送密码。 报表 设计周密的用于交流业务信息的数据集。根据上下文,“报表”可能指报表规范或报表输出。 报表(更准确地说是报表规范)是用于由Query Studio、Report Studio 和Analysis Studio 创建或编辑的对象的一般术语。 报表规范 组成报表的查询、提示、布局和样式的定义。通过运行操作可将报表规范与数据组合,以创建报 表输出。您可以通过使用Report Studio、Query Studio、Analysis Studio 或通过软件开发包 创建报表规范。 报表视图 对具有其自己的属性(例如提示值、计划表和结果)的其它报表的引用。 您可以使用报表视图来共享报表规范,而无需制作报表规范的副本。0 134浏览会员免费
- 导线网,平差大小:61KB本资源为17年的毕业设计成果。程序完全正确,可成功运行,直接运行mainprogram就行。WX同号,有问题可以W。本资源为17年的毕业设计成果。程序完全正确,可成功运行,直接运行mainprogram就行。WX同号,有问题可以W。5 2164浏览会员免费
- 目录 第一章 HDF介绍 1.1. 本章概况 1.2. 什么是HDF 1.3. 为什么创建HDF 1.4. HDF的6个基本数据结构 1.5. HDF文件的3层交互 1.6. HDF文件格式 1.7. HDF4和HDF5 第二章 HDF库 2.1 本章简介 2.2 获得和安装HDF库 2.3 支持的程序语言 2.4 应用编程接口 2.5 id文件信息 2.6 编译介绍 第三章 常规光栅图像应用编程接口(GR API) 3.1 本章简介 3.2 General Raster Image(常规光栅图像)数据模型 3.3 GR API 3.4 把Raster Image(光栅图像)写入一个HDF文件中 3.5 从一个HDF文件里读取Raster Image(光栅图像) 第四章 科学数据集应用编程接口(SDS API) 4.1 本章简介 4.2 科学数据集数据模型 4.3 SD API 4.4 把科学数据集写入HDF文件里 4.5 从HDF文件中读取科学数据集 第五章 虚拟数据应用编程接口(VS API) 5.1 本章简介 5.2 Vdata数据模型 5.3 VS API 5.4 把Vdata写入一个HDF文件中 5.5 从一个HDF文件中读取Vdata 第六章 注解应用编程接口(AN API) 6.1 本章简介 6.2 注解数据模型 6.3 AN API 6.4 把注解写入HDF文件里 6.5 从HDF文件中读取注解 第七章 虚拟组结构应用编程接口(V API) 7.1 本章简介 7.2 Vgroups 数据模型 7.3 V API 7.4 创建Vgroups和添加数据对象 7.5 获取有关Vgroup的信息和删除数据对象 第八章 HDF命令行工具 8.1 本章简介 8.2 HDF命令行工具介绍 8.3 HDF查询工具 8.4 HDF数据格式转换工具 8.5 HDF数据压缩工具 第九章 使用JHV浏览HDF文件 9.1 本章简介 9.2 什么是JHV 9.3 获取和安装JHV 9.4 显示HDF对象的树状结构 9.5 显示文件和数据对象的注解 9.6 显示Vdatas 9.7 显示光栅图像 9.8 显示科学数据集5 849浏览会员免费
- ionosphere大小:75KBUCI机器学习知识库中的ionosphere数据集,UCI机器学习知识库中的ionosphere数据集,5 461浏览会员免费