语句 在图 2-48 里还有一个“ Advanced Options... ”(高级选项),单击后将弹出高级选项对话框,如图 2-49图 2-49 高级对话框 在高级选项里,默认是选中“ Generate Insert , Update And Delete statements ”的,所以系统会根据 Select 语句自动生成相应的插入、更新和删除语句,而“ Use optimistic concurrency ”(冲突检测)和 Refresh the data table (刷新表格数据)是不选中的。
单击 Next ,将进入“ Choose Methods to Generate ”页面,在该页面系统会让我们命名在业务逻辑处理中的方法名称,这里有两类方法模式: Fill 类: DataSet 将使用 Fill 类生成一个以 DataSet 或者 DataTable 作为参数的方法,该方法将使用前面生成的 SQL 语句来填充数据集。
Get 类:该类方法用来获取前面 SQL 语句或者存储过程执行的返回结果值。
图 2-50 显示了我的设定,其中 Fill 类使用的是 Fill 方法,而 Get 类命名的方法是GetAllProducts 。
另外我还选中了下面的 GenerateDBDirectMethods ,这样系统将自动根据我前面的 Insert 、Update 和 Delete 语句生成相应的方法。
单击“ Next ”会显示系统自动生成的结果,如果成功了,可以单击 Finish 之间完成该向导。
当关闭向导后,系统会自动打开 VS.NET 的设计器,在该设计器里可以看到类视图如图 2-51 。
图 2-51 向导生成结果图 在图 2-51 上单击鼠标右键,选择“ View Code “,我们可以查看系统自动生成的 XSD 源代码,下面我们看看系统都生成了哪些代码 1、 使用 Connection 标识数据库连接 在前面向导里数据库的连接配置是通过 Connections 的 Connection 表示的,这种配置会映射在 XSD 文档里,如代码 2-21 。
正如您所看到的,数据库链接还包括了 Name 、 Provider 等属 性,它们都用于以后数据库的连接。
ltConnectionsgt ltConnection AppSettingsObjectNamequotWeb.configquot AppSettingsPropertyNamequotDatabaseConnectionStringquot ConnectionStringObjectquotquot IsAppSettingsPropertyquotTruequot ModifierquotAssemblyquot NamequotDatabaseConnectionString Web.configquot ParameterPrefixquotquot PropertyReferencequotAppConfig.System.Configuration.ConfigurationManager.0.ConnectionStrings.DatabaseConnectionString.ConnectionStringquot ProviderquotSystem.Data.SqlClientquotgt lt/Connectiongt lt/Connectionsgt 代码 2-21 Database.xsd 代码片段( 1 )2 、数据的执行用 XXXCommand 表示这里是偶的解释,可以跳过 在前面的 SQL 语句向导里,由于要求系统根据 Select 语句自动生成 Delete 、 Update 和Insert 语句以及方法,所以系统将使用 ltSelectCommandgt 、 ltDeleteCommandgt 、ltUpdateCommandgt 和 ltInsertCommandgt 来表示这些方法,并建立这些方法所需要的参数,如2-22 。
ltDbSource ConnectionRefquotDatabaseConnectionString Web.configquot DbObjectNamequotdbo.Productsquot DbObjectTypequotTablequot FillMethodModifierquotPublicquot FillMethodNamequotFillquot GenerateMethodsquotBothquot GenerateShortCommandsquotTruequot GeneratorGetMethodNamequotGetAllProductsquot GeneratorSourceNamequotFillquot GetMethodModifierquotPublicquot GetMethodNamequotGetAllProductsquot QueryTypequotRowsetquot ScalarCallRetvalquotSystem.Object mscorlib Version2.0.0.0 CultureneutralPublicKeyTokenb77a5c561934e089quot UseOptimisticConcurrencyquotFalsequot UserGetMethodNamequotGetAllProductsquot UserSourceNamequotFillquotgt ltDeleteCommandgt ltDbCommand CommandTypequotTextquot ModifiedByUserquotFalsequotgt ltCommandTextgtDELETE FROM Products WHERE ProductID Original_ProductIDlt/CommandTextgt ltParametersgt ltParameter AllowDbNullquotFalsequot AutogeneratedNamequotquot DataSourceNamequotquotDbTypequotInt32quot DirectionquotInputquot ParameterNamequotOriginal_ProductIDquot Precisionquot0quotProviderTypequotIntquot Scalequot0quot Sizequot0quot SourceColumnquotProductIDquotSourceColumnNullMappingquotFalsequot SourceVersionquotOriginalquotgt lt/Parametergt lt/Parametersgt lt/DbCommandgt lt/DeleteCommandgt ltInsertCommandgt ltDbCommand CommandTypequotTextquot ModifiedByUserquotFalsequotgt ltCommandTextgtINSERT INTO Products ProductName CategoryID PriceInStore Description VALUES ProductName CategoryID Price InStoreDescriptionlt/CommandTextgt ltParametersgt ltParameter AllowDbNullquotTruequot AutogeneratedNamequotquot DataSourceNamequotquotDbTypequotStringquot DirectionquotInputquot ParameterNamequotProductNamequot Precisionquot0quot.
上一篇:
WebGuard应用保护系统培训资料
下一篇:
ASP小区停车管理系统(Access)(含录像)