From b860311e36b3212ca58810de762b006f8719fb94 Mon Sep 17 00:00:00 2001 From: asposemarketplace Date: Wed, 16 Dec 2015 12:51:36 +0500 Subject: [PATCH] Aspose.Cells Features missing in OpenXML Spreadsheet v1.1 --- .../Add WordArt Watermark to Chart.csproj | 62 + .../Add WordArt Watermark to Chart/App.config | 6 + .../Add WordArt Watermark to Chart/Program.cs | 40 + .../Properties/AssemblyInfo.cs | 36 + .../Add WordArt Watermark to Worksheet.csproj | 63 + .../App.config | 6 + .../Program.cs | 43 + .../Properties/AssemblyInfo.cs | 36 + .../Adding Formula/Adding Formula.csproj | 62 + .../Adding Formula/App.config | 6 + .../Adding Formula/Program.cs | 43 + .../Adding Formula/Properties/AssemblyInfo.cs | 36 + .../Calculate Formula Dynamically.sln | 32 + .../Calculate Formula once/App.config | 6 + .../Calculate Formula once.csproj | 62 + .../Calculate Formula once/Program.cs | 31 + .../Properties/AssemblyInfo.cs | 36 + .../Direct Formulae Call/App.config | 6 + .../Direct Formula Call.csproj | 62 + .../Direct Formulae Call/Program.cs | 37 + .../Properties/AssemblyInfo.cs | 36 + .../Convert between Excel formats.sln | 20 + .../Convert between Excel formats/App.config | 6 + .../Convert between Excel formats.csproj | 91 + .../Form1.Designer.cs | 119 + .../Convert between Excel formats/Form1.cs | 73 + .../Convert between Excel formats/Form1.resx | 129 + .../Convert between Excel formats/Program.cs | 24 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 71 + .../Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../Properties/Settings.settings | 7 + .../Copy Shapes between Worksheets/App.config | 6 + .../Copy Shapes between Worksheets.csproj | 62 + .../Copy Shapes between Worksheets/Program.cs | 31 + .../Properties/AssemblyInfo.cs | 36 + .../Encrypting Excel Files/App.config | 6 + .../Encrypting Excel Files.csproj | 62 + .../Encrypting Excel Files/Program.cs | 31 + .../Properties/AssemblyInfo.cs | 36 + .../Export from Worksheet/App.config | 6 + .../Export from Worksheet.csproj | 92 + .../Export from Worksheet/Form1.Designer.cs | 157 + .../Export from Worksheet/Form1.cs | 78 + .../Export from Worksheet/Form1.resx | 126 + .../Export from Worksheet/Program.cs | 24 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 71 + .../Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../Properties/Settings.settings | 7 + .../Generate Reports and Populate Data.sln | 64 + .../Grouping Data OLE DB/App.config | 13 + .../Grouping Data OLE DB/Data/Northwind.mdb | Bin 0 -> 1742848 bytes .../Data/NorthwindDataSet.Designer.cs | 11706 ++++++++++++++++ .../Data/NorthwindDataSet.xsc | 1 + .../Data/NorthwindDataSet.xsd | 1241 ++ .../Data/NorthwindDataSet.xss | 1 + .../Grouping Data OLE DB.csproj | 92 + .../Grouping Data OLE DB/Program.cs | 55 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Settings.Designer.cs | 37 + .../Properties/Settings.settings | 14 + .../Image Markers/App.config | 6 + .../Image Markers/Image Markers.csproj | 62 + .../Image Markers/Program.cs | 46 + .../Image Markers/Properties/AssemblyInfo.cs | 36 + .../Import to Worksheet/App.config | 6 + .../Import to Worksheet.csproj | 63 + .../Import to Worksheet/Program.cs | 153 + .../Properties/AssemblyInfo.cs | 36 + .../Import to Worksheet/WeeklyItem.cs | 30 + .../Using Custom Objects/App.config | 6 + .../Using Custom Objects/Program.cs | 63 + .../Properties/AssemblyInfo.cs | 36 + .../Using Custom Objects.csproj | 62 + .../Using Nested Object/App.config | 13 + .../Using Nested Object/Program.cs | 92 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Settings.Designer.cs | 37 + .../Properties/Settings.settings | 14 + .../Using Nested Object.csproj | 71 + .../Work with Rows n Columns/App.config | 6 + .../Work with Rows n Columns/Program.cs | 146 + .../Properties/AssemblyInfo.cs | 36 + .../Work with Rows and Columns.csproj | 62 + .../Locking WordArt Watermark/App.config | 6 + .../Locking WordArt Watermark.csproj | 63 + .../Locking WordArt Watermark/Program.cs | 52 + .../Properties/AssemblyInfo.cs | 36 + .../OpenXML Missing Features/README.md | 17 + .../App.config | 6 + .../Chart to Image with Image Options.csproj | 63 + .../Program.cs | 56 + .../Properties/AssemblyInfo.cs | 36 + .../Converting Chart to Image/App.config | 6 + .../Converting Chart to Images.csproj | 63 + .../Converting Chart to Image/Program.cs | 225 + .../Properties/AssemblyInfo.cs | 36 + .../Print Spreadsheet with Options/App.config | 6 + .../Print Spreadsheet with Options.csproj | 62 + .../Print Spreadsheet with Options/Program.cs | 86 + .../Properties/AssemblyInfo.cs | 36 + .../Rendering and Printing.sln | 32 + .../App.config | 6 + .../Program.cs | 51 + .../Properties/AssemblyInfo.cs | 36 + ...Save Workbook to Text or CSV Format.csproj | 62 + .../Set External Links in Formula/App.config | 6 + .../Set External Links in Formula/Program.cs | 34 + .../Properties/AssemblyInfo.cs | 36 + .../Set External Links in Formula.csproj | 62 + .../App.config | 6 + .../Program.cs | 24 + .../Properties/AssemblyInfo.cs | 36 + ...ormula Calculation Mode of Workbook.csproj | 62 + .../Setting Shared Formula/App.config | 6 + .../Setting Shared Formula/Program.cs | 29 + .../Properties/AssemblyInfo.cs | 36 + .../Setting Shared Formula.csproj | 62 + .../Assemble Workshet/App.config | 6 + .../Assemble Worksheet.csproj | 62 + .../Assemble Workshet/Program.cs | 108 + .../Properties/AssemblyInfo.cs | 36 + .../Copy Sheet between Workbook/App.config | 6 + .../Copy Sheet between Workbook.csproj | 62 + .../Copy Sheet between Workbook/Program.cs | 60 + .../Properties/AssemblyInfo.cs | 36 + .../Copy Worksheet/App.config | 6 + .../Copy Worksheet/Copy Worksheet.csproj | 62 + .../Copy Worksheet/Program.cs | 33 + .../Copy Worksheet/Properties/AssemblyInfo.cs | 36 + .../Copy between Workbooks/App.config | 6 + .../Copy between Workbooks.csproj | 62 + .../Copy between Workbooks/Program.cs | 31 + .../Properties/AssemblyInfo.cs | 36 + .../Find and replace/App.config | 6 + .../Find and replace.Designer.cs | 153 + .../Find and replace/Find and replace.cs | 97 + .../Find and replace/Find and replace.csproj | 91 + .../Find and replace/Find and replace.resx | 129 + .../Find and replace/Program.cs | 24 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 71 + .../Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../Properties/Settings.settings | 7 + .../Move Worksheet/App.config | 6 + .../Move Worksheet/Move Worksheet.csproj | 62 + .../Move Worksheet/Program.cs | 36 + .../Move Worksheet/Properties/AssemblyInfo.cs | 36 + ...ogramming with a workbook object model.sln | 58 + .../README.md | 1 + 154 files changed, 19911 insertions(+) create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Add WordArt Watermark to Chart.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Add WordArt Watermark to Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Adding Formula.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula Dynamically.sln create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Calculate Formula once.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Direct Formula Call.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats.sln create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Convert between Excel formats.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.settings create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Copy Shapes between Worksheets.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Encrypting Excel Files.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Export from Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.settings create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Generate Reports and Populate Data.sln create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/Northwind.mdb create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsc create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsd create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xss create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Grouping Data OLE DB.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.settings create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Image Markers.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Import to Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/WeeklyItem.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Using Custom Objects.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.settings create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Using Nested Object.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Work with Rows and Columns.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Locking WordArt Watermark.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/README.md create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Chart to Image with Image Options.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Converting Chart to Images.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Print Spreadsheet with Options.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Rendering and Printing.sln create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Save Workbook to Text or CSV Format.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Set External Links in Formula.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Setting Formula Calculation Mode of Workbook.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Setting Shared Formula.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Assemble Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Copy Sheet between Workbook.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Copy Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Copy between Workbooks.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.resx create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.Designer.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.settings create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/App.config create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Move Worksheet.csproj create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Program.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Properties/AssemblyInfo.cs create mode 100644 Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/programming with a workbook object model.sln diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Add WordArt Watermark to Chart.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Add WordArt Watermark to Chart.csproj new file mode 100644 index 000000000..6509e40a1 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Add WordArt Watermark to Chart.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {88616B32-296B-4FF1-AB10-116236467E85} + Exe + Properties + Add_WordArt_Watermark_to_Chart + Add WordArt Watermark to Chart + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Program.cs new file mode 100644 index 000000000..792920933 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Program.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; +using Aspose.Cells.Drawing; + +namespace Add_WordArt_Watermark_to_Chart +{ + class Program + { + static void Main(string[] args) + { + //Instantiate a new workbook. + //Open the existing excel file. + Workbook workbook = new Workbook("Watermark_Test1.xls"); + + //Get the chart in the first worksheet. + Aspose.Cells.Charts.Chart chart = workbook.Worksheets[0].Charts[0]; + + //Add a WordArt watermark (shape) to the chart's plot area. + Aspose.Cells.Drawing.Shape wordart = chart.Shapes.AddTextEffectInChart(MsoPresetTextEffect.TextEffect2, + "CONFIDENTIAL", "Arial Black", 66, false, false, 1200, 500, 2000, 3000); + + //Get the shape's fill format. + Aspose.Cells.Drawing.MsoFillFormat wordArtFormat = wordart.FillFormat; + + //Set the transparency. + wordArtFormat.Transparency = 0.9; + + //Get the line format and make it invisible. + Aspose.Cells.Drawing.MsoLineFormat lineFormat = wordart.LineFormat; + lineFormat.IsVisible = false; + + //Save the excel file. + workbook.Save("outWatermark_Test1.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..ce6598023 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Chart/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Add WordArt Watermark to Chart")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Add WordArt Watermark to Chart")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7ad28852-8945-44e2-b84f-3f3a5048d9f5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Add WordArt Watermark to Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Add WordArt Watermark to Worksheet.csproj new file mode 100644 index 000000000..cfa199e25 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Add WordArt Watermark to Worksheet.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {10D53893-6B31-42B7-9A17-8D0629DD07EC} + Exe + Properties + Add_WordArt_Watermark_to_Worksheet + Add WordArt Watermark to Worksheet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Program.cs new file mode 100644 index 000000000..4e7d661b8 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Program.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; +using Aspose.Cells.Drawing; + +namespace Add_WordArt_Watermark_to_Worksheet +{ + class Program + { + static void Main(string[] args) + { + //Instantiate a new Workbook + Workbook workbook = new Workbook(); + + //Get the first default sheet + Worksheet sheet = workbook.Worksheets[0]; + + //Add Watermark + Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(MsoPresetTextEffect.TextEffect1, + "CONFIDENTIAL", "Arial Black", 50, false, true + , 18, 8, 1, 1, 130, 800); + + //Get the fill format of the word art + MsoFillFormat wordArtFormat = wordart.FillFormat; + + //Set the color + wordArtFormat.ForeColor = System.Drawing.Color.Red; + + //Set the transparency + wordArtFormat.Transparency = 0.9; + + //Make the line invisible + MsoLineFormat lineFormat = wordart.LineFormat; + lineFormat.IsVisible = false; + + //Save the file + workbook.Save("Watermarkt_Test.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..58a0d1094 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Add WordArt Watermark to Worksheet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Add WordArt Watermark to Worksheet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Add WordArt Watermark to Worksheet")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b8b9590b-fd24-42a6-aab1-e23008ae61e4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Adding Formula.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Adding Formula.csproj new file mode 100644 index 000000000..d133964d8 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Adding Formula.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {9D97349A-2C1B-4512-82A0-F601A659EE6B} + Exe + Properties + Adding_Formula + Adding Formula + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Program.cs new file mode 100644 index 000000000..0ff0ae05c --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Program.cs @@ -0,0 +1,43 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; + +namespace Adding_Formula +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + + //Adding a value to "A1" cell + worksheet.Cells["A1"].PutValue(1); + + //Adding a value to "A2" cell + worksheet.Cells["A2"].PutValue(2); + + //Adding a value to "A3" cell + worksheet.Cells["A3"].PutValue(3); + + //Adding a SUM formula to "A4" cell + worksheet.Cells["A4"].Formula = "=SUM(A1:A3)"; + + //Calculating the results of formulas + workbook.CalculateFormula(); + + //Get the calculated value of the cell + string value = worksheet.Cells["A4"].Value.ToString(); + + //Saving the Excel file + workbook.Save(MyDir + "Adding Formula.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7dbb44bd4 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Adding Formula/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Adding Formula")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Adding Formula")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bdff9ca5-d403-442c-ba0e-dfaa7e8720cf")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula Dynamically.sln b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula Dynamically.sln new file mode 100644 index 000000000..25771f68e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula Dynamically.sln @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Adding Formula", "Adding Formula\Adding Formula.csproj", "{9D97349A-2C1B-4512-82A0-F601A659EE6B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calculate Formula once", "Calculate Formula once\Calculate Formula once.csproj", "{E1E47E5A-00AA-4813-972A-A226D888CEA7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Direct Formula Call", "Direct Formulae Call\Direct Formula Call.csproj", "{F64D4044-28D4-4EB8-8265-34B00B6122E2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9D97349A-2C1B-4512-82A0-F601A659EE6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D97349A-2C1B-4512-82A0-F601A659EE6B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D97349A-2C1B-4512-82A0-F601A659EE6B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D97349A-2C1B-4512-82A0-F601A659EE6B}.Release|Any CPU.Build.0 = Release|Any CPU + {E1E47E5A-00AA-4813-972A-A226D888CEA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E1E47E5A-00AA-4813-972A-A226D888CEA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E1E47E5A-00AA-4813-972A-A226D888CEA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E1E47E5A-00AA-4813-972A-A226D888CEA7}.Release|Any CPU.Build.0 = Release|Any CPU + {F64D4044-28D4-4EB8-8265-34B00B6122E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F64D4044-28D4-4EB8-8265-34B00B6122E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F64D4044-28D4-4EB8-8265-34B00B6122E2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F64D4044-28D4-4EB8-8265-34B00B6122E2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Calculate Formula once.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Calculate Formula once.csproj new file mode 100644 index 000000000..0ac0e609e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Calculate Formula once.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {E1E47E5A-00AA-4813-972A-A226D888CEA7} + Exe + Properties + Calculate_Formula_once + Calculate Formula once + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Program.cs new file mode 100644 index 000000000..1a6fd0f48 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Program.cs @@ -0,0 +1,31 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using Aspose.Cells; + +namespace Calculate_Formula_once +{ + class Program + { + static void Main(string[] args) + { + string filePath = "Without creating formula chain.xls"; + + //Load the template workbook + Workbook workbook = new Workbook(filePath); + + //Print the time before formula calculation + Console.WriteLine(DateTime.Now); + + //Set the CreateCalcChain as false + workbook.Settings.CreateCalcChain = false; + + //Calculate the workbook formulas + workbook.CalculateFormula(); + + //Print the time after formula calculation + Console.WriteLine(DateTime.Now); + workbook.Save("Without creating formula chain.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9c5bd7e14 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Calculate Formula once/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Calculate Formula once")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Calculate Formula once")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4d383e66-ce69-4d41-a4c6-41a10297ad94")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Direct Formula Call.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Direct Formula Call.csproj new file mode 100644 index 000000000..400a13b82 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Direct Formula Call.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {F64D4044-28D4-4EB8-8265-34B00B6122E2} + Exe + Properties + Direct_Formulae_Call + Direct Formulae Call + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Program.cs new file mode 100644 index 000000000..c8c844d27 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Program.cs @@ -0,0 +1,37 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System.Diagnostics; +using Aspose.Cells; + +namespace Direct_Formula_Call +{ + class Program + { + static void Main(string[] args) + { + //Create a workbook + Workbook workbook = new Workbook(); + + //Access first worksheet + Worksheet worksheet = workbook.Worksheets[0]; + + //Put 20 in cell A1 + Cell cellA1 = worksheet.Cells["A1"]; + cellA1.PutValue(20); + + //Put 30 in cell A2 + Cell cellA2 = worksheet.Cells["A2"]; + cellA2.PutValue(30); + + //Calculate the Sum of A1 and A2 + var results = worksheet.CalculateFormula("=Sum(A1:A2)"); + Cell cellA3 = worksheet.Cells["A3"]; + cellA3.PutValue(results); + //Print the output + Debug.WriteLine("Value of A1: " + cellA1.StringValue); + Debug.WriteLine("Value of A2: " + cellA2.StringValue); + Debug.WriteLine("Result of Sum(A1:A2): " + results.ToString()); + workbook.Save("Calulate Any Formula.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..eabd3e93e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Calculate Formula Dynamically/Direct Formulae Call/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Direct Formulae Call")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Direct Formulae Call")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("23e88d5e-2b54-4a12-b25d-ae9ffeafd8d6")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats.sln b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats.sln new file mode 100644 index 000000000..1231a82e6 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Convert between Excel formats", "Convert between Excel formats\Convert between Excel formats.csproj", "{2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Convert between Excel formats.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Convert between Excel formats.csproj new file mode 100644 index 000000000..05bb60659 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Convert between Excel formats.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {2BDB936F-7F66-4DE3-9C73-6A88C0DB10C1} + WinExe + Properties + Convert_between_Excel_formats + Convert between Excel formats + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\aspose-for-vsto\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.Designer.cs new file mode 100644 index 000000000..fad6530e0 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.Designer.cs @@ -0,0 +1,119 @@ +namespace Convert_between_Excel_formats +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.BTN_FileBrowse = new System.Windows.Forms.Button(); + this.CB_Formats = new System.Windows.Forms.ComboBox(); + this.LBL_FileName = new System.Windows.Forms.Label(); + this.TXBX_OutputFileName = new System.Windows.Forms.TextBox(); + this.BTN_Convert = new System.Windows.Forms.Button(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); + this.SuspendLayout(); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // BTN_FileBrowse + // + this.BTN_FileBrowse.Location = new System.Drawing.Point(12, 39); + this.BTN_FileBrowse.Name = "BTN_FileBrowse"; + this.BTN_FileBrowse.Size = new System.Drawing.Size(136, 23); + this.BTN_FileBrowse.TabIndex = 0; + this.BTN_FileBrowse.Text = "Select File To Convert"; + this.BTN_FileBrowse.UseVisualStyleBackColor = true; + this.BTN_FileBrowse.Click += new System.EventHandler(this.BTN_FileBrowse_Click); + // + // CB_Formats + // + this.CB_Formats.FormattingEnabled = true; + this.CB_Formats.Items.AddRange(new object[] { + "CSV", + "HTML", + "PDF"}); + this.CB_Formats.Location = new System.Drawing.Point(12, 12); + this.CB_Formats.Name = "CB_Formats"; + this.CB_Formats.Size = new System.Drawing.Size(199, 21); + this.CB_Formats.TabIndex = 1; + // + // LBL_FileName + // + this.LBL_FileName.AutoSize = true; + this.LBL_FileName.Location = new System.Drawing.Point(12, 65); + this.LBL_FileName.Name = "LBL_FileName"; + this.LBL_FileName.Size = new System.Drawing.Size(0, 13); + this.LBL_FileName.TabIndex = 2; + // + // TXBX_OutputFileName + // + this.TXBX_OutputFileName.Location = new System.Drawing.Point(12, 81); + this.TXBX_OutputFileName.Name = "TXBX_OutputFileName"; + this.TXBX_OutputFileName.Size = new System.Drawing.Size(199, 20); + this.TXBX_OutputFileName.TabIndex = 3; + // + // BTN_Convert + // + this.BTN_Convert.Location = new System.Drawing.Point(12, 107); + this.BTN_Convert.Name = "BTN_Convert"; + this.BTN_Convert.Size = new System.Drawing.Size(136, 23); + this.BTN_Convert.TabIndex = 4; + this.BTN_Convert.Text = "Convert File"; + this.BTN_Convert.UseVisualStyleBackColor = true; + this.BTN_Convert.Click += new System.EventHandler(this.BTN_Convert_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(262, 302); + this.Controls.Add(this.BTN_Convert); + this.Controls.Add(this.TXBX_OutputFileName); + this.Controls.Add(this.LBL_FileName); + this.Controls.Add(this.CB_Formats); + this.Controls.Add(this.BTN_FileBrowse); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Button BTN_FileBrowse; + private System.Windows.Forms.ComboBox CB_Formats; + private System.Windows.Forms.Label LBL_FileName; + private System.Windows.Forms.TextBox TXBX_OutputFileName; + private System.Windows.Forms.Button BTN_Convert; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; + } +} + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.cs new file mode 100644 index 000000000..31ef8bf07 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.cs @@ -0,0 +1,73 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Aspose.Cells; + +namespace Convert_between_Excel_formats +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void BTN_FileBrowse_Click(object sender, EventArgs e) + { + DialogResult result= openFileDialog1.ShowDialog(); + if (result == DialogResult.OK) + { + string File = openFileDialog1.FileName; + + LBL_FileName.Text = File; + + } + } + + private void BTN_Convert_Click(object sender, EventArgs e) + { + if (TXBX_OutputFileName.Text != "") + { + try + { + saveFileDialog1.DefaultExt = "."+CB_Formats.SelectedItem.ToString().ToLower(); + saveFileDialog1.FileName = TXBX_OutputFileName.Text; + DialogResult result= saveFileDialog1.ShowDialog(); + if (result == DialogResult.OK) + { + Workbook workbook = new Workbook(openFileDialog1.FileName); + switch (CB_Formats.SelectedItem.ToString()) + { + case "CSV": + workbook.Save(saveFileDialog1.FileName, SaveFormat.CSV); + break; + case "PDF": + workbook.Save(saveFileDialog1.FileName, SaveFormat.Pdf); + break; + case "MHTML": + + //Specify the HTML Saving Options + HtmlSaveOptions sv = new HtmlSaveOptions(SaveFormat.MHtml); + workbook.Save(saveFileDialog1.FileName, sv); + break; + default: + break; + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.resx new file mode 100644 index 000000000..ed77fbfc1 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 157, 17 + + + 25 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Program.cs new file mode 100644 index 000000000..6c02cee7d --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Program.cs @@ -0,0 +1,24 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Convert_between_Excel_formats +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9ff44ad6e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Convert between Excel formats")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Convert between Excel formats")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7bfd1917-ab42-464c-a97f-bf522c65820a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.Designer.cs new file mode 100644 index 000000000..1b9409d76 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Convert_between_Excel_formats.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Convert_between_Excel_formats.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.Designer.cs new file mode 100644 index 000000000..b12f34844 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Convert_between_Excel_formats.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.settings b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.settings new file mode 100644 index 000000000..39645652a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Convert between Excel formats/Convert between Excel formats/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Copy Shapes between Worksheets.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Copy Shapes between Worksheets.csproj new file mode 100644 index 000000000..f5c8f8d38 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Copy Shapes between Worksheets.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {60964BF6-3607-44BB-99C2-17DDFDADA47B} + Exe + Properties + Copy_Shapes_between_Worksheets + Copy Shapes between Worksheets + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Program.cs new file mode 100644 index 000000000..89a268d0d --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Program.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Copy_Shapes_between_Worksheets +{ + class Program + { + static void Main(string[] args) + { + //Create a workbook object + //Open the template file + Workbook workbook = new Workbook("Shapes.xls"); + + //Get the Chart from the "Chart" worksheet. + Aspose.Cells.Charts.Chart source = workbook.Worksheets["Chart"].Charts[0]; + + Aspose.Cells.Drawing.ChartShape cshape = source.ChartObject; + + //Copy the Chart to the Result Worksheet + workbook.Worksheets["Result"].Shapes.AddCopy(cshape, 20, 0, 2, 0); + + //Save the Worksheet + workbook.Save("Shapes.xls"); + + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..140398d2e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Copy Shapes between Worksheets/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Copy Shapes between Worksheets")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Copy Shapes between Worksheets")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("780ed3ef-e02b-491c-b693-064fb8da0fa5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Encrypting Excel Files.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Encrypting Excel Files.csproj new file mode 100644 index 000000000..7dab263df --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Encrypting Excel Files.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {D672A7EE-A761-4346-8835-1774DF196147} + Exe + Properties + Encrypting_Excel_Files + Encrypting Excel Files + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Program.cs new file mode 100644 index 000000000..0fabeb24d --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Program.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Encrypting_Excel_Files +{ + class Program + { + static void Main(string[] args) + { + //Instantiate a Workbook object. + //Open an excel file. + Workbook workbook = new Workbook("Book1.xls"); + + //Specify XOR encryption type. + workbook.SetEncryptionOptions(EncryptionType.XOR, 40); + + //Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider). + workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128); + + //Password protect the file. + workbook.Settings.Password = "1234"; + + //Save the excel file. + workbook.Save("encryptedBook1.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7e47b0d02 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Encrypting Excel Files/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Encrypting Excel Files")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Encrypting Excel Files")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6e858eaa-c1fc-4f9a-a060-2b0c14cd646f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Export from Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Export from Worksheet.csproj new file mode 100644 index 000000000..615dedcd3 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Export from Worksheet.csproj @@ -0,0 +1,92 @@ + + + + + Debug + AnyCPU + {D05A2172-8387-4CA4-9463-7513E8B5323C} + WinExe + Properties + Export_frm_Worksheet + Export frm Worksheet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.Designer.cs new file mode 100644 index 000000000..e85ce077c --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.Designer.cs @@ -0,0 +1,157 @@ +namespace Export_frm_Worksheet +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.BTN_Export = new System.Windows.Forms.Button(); + this.BTN_Select = new System.Windows.Forms.Button(); + this.LBL_SelectedFile = new System.Windows.Forms.Label(); + this.FOD_OpenFile = new System.Windows.Forms.OpenFileDialog(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.dataGridView2 = new System.Windows.Forms.DataGridView(); + this.BTN_NonStronglyExport = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit(); + this.SuspendLayout(); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(12, 37); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.Size = new System.Drawing.Size(240, 150); + this.dataGridView1.TabIndex = 0; + // + // BTN_Export + // + this.BTN_Export.Location = new System.Drawing.Point(12, 193); + this.BTN_Export.Name = "BTN_Export"; + this.BTN_Export.Size = new System.Drawing.Size(207, 23); + this.BTN_Export.TabIndex = 1; + this.BTN_Export.Text = "Export Strongly Typed Data"; + this.BTN_Export.UseVisualStyleBackColor = true; + this.BTN_Export.Click += new System.EventHandler(this.BTN_Export_Click); + // + // BTN_Select + // + this.BTN_Select.Location = new System.Drawing.Point(276, 3); + this.BTN_Select.Name = "BTN_Select"; + this.BTN_Select.Size = new System.Drawing.Size(75, 23); + this.BTN_Select.TabIndex = 2; + this.BTN_Select.Text = "Select File"; + this.BTN_Select.UseVisualStyleBackColor = true; + this.BTN_Select.Click += new System.EventHandler(this.BTN_Select_Click); + // + // LBL_SelectedFile + // + this.LBL_SelectedFile.AutoSize = true; + this.LBL_SelectedFile.Location = new System.Drawing.Point(110, 236); + this.LBL_SelectedFile.Name = "LBL_SelectedFile"; + this.LBL_SelectedFile.Size = new System.Drawing.Size(0, 13); + this.LBL_SelectedFile.TabIndex = 3; + // + // FOD_OpenFile + // + this.FOD_OpenFile.FileName = "openFileDialog1"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(38, 13); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(200, 13); + this.label1.TabIndex = 4; + this.label1.Text = "Columns Containing Strongly Typed Data"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(398, 13); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(223, 13); + this.label2.TabIndex = 5; + this.label2.Text = "Columns Containing Non Strongly Typed Data"; + // + // dataGridView2 + // + this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView2.Location = new System.Drawing.Point(391, 37); + this.dataGridView2.Name = "dataGridView2"; + this.dataGridView2.Size = new System.Drawing.Size(240, 150); + this.dataGridView2.TabIndex = 6; + // + // BTN_NonStronglyExport + // + this.BTN_NonStronglyExport.Location = new System.Drawing.Point(391, 193); + this.BTN_NonStronglyExport.Name = "BTN_NonStronglyExport"; + this.BTN_NonStronglyExport.Size = new System.Drawing.Size(172, 23); + this.BTN_NonStronglyExport.TabIndex = 7; + this.BTN_NonStronglyExport.Text = "Export Non Strongly Typed Data"; + this.BTN_NonStronglyExport.UseVisualStyleBackColor = true; + this.BTN_NonStronglyExport.Click += new System.EventHandler(this.BTN_NonStronglyExport_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(654, 274); + this.Controls.Add(this.BTN_NonStronglyExport); + this.Controls.Add(this.dataGridView2); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.LBL_SelectedFile); + this.Controls.Add(this.BTN_Select); + this.Controls.Add(this.BTN_Export); + this.Controls.Add(this.dataGridView1); + this.Name = "Form1"; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.Form1_Load); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Button BTN_Export; + private System.Windows.Forms.Button BTN_Select; + private System.Windows.Forms.Label LBL_SelectedFile; + private System.Windows.Forms.OpenFileDialog FOD_OpenFile; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.DataGridView dataGridView2; + private System.Windows.Forms.Button BTN_NonStronglyExport; + + } +} + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.cs new file mode 100644 index 000000000..722fc9e25 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.cs @@ -0,0 +1,78 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Data; +using System.IO; +using System.Windows.Forms; +using Aspose.Cells; + +namespace Export_frm_Worksheet +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void BTN_Export_Click(object sender, EventArgs e) + { + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + + //Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable + DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true); + + //Binding the DataTable with DataGrid + + dataGridView1.DataSource = dataTable; + + //Closing the file stream to free all resources + fstream.Close(); + } + + private void Form1_Load(object sender, EventArgs e) + { + + } + + private void BTN_Select_Click(object sender, EventArgs e) + { + DialogResult result = FOD_OpenFile.ShowDialog(); + if (result == DialogResult.OK) + { + LBL_SelectedFile.Text = FOD_OpenFile.FileName; + } + } + + private void BTN_NonStronglyExport_Click(object sender, EventArgs e) + { + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + + //Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable + DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true); + + //Binding the DataTable with DataGrid + dataGridView2.DataSource = dataTable; + + //Closing the file stream to free all resources + fstream.Close(); + } + + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.resx new file mode 100644 index 000000000..a2552d86c --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Form1.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 36 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Program.cs new file mode 100644 index 000000000..6d970da26 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Program.cs @@ -0,0 +1,24 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Export_frm_Worksheet +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9ffbf4e25 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Export frm Worksheet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Export frm Worksheet")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("feaf69b6-2270-4d04-a597-6cc327fcc81f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.Designer.cs new file mode 100644 index 000000000..5f1a9834f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18063 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Export_frm_Worksheet.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Export_frm_Worksheet.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.Designer.cs new file mode 100644 index 000000000..0c1cf26ca --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18063 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Export_frm_Worksheet.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.settings b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.settings new file mode 100644 index 000000000..39645652a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Export from Worksheet/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Generate Reports and Populate Data.sln b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Generate Reports and Populate Data.sln new file mode 100644 index 000000000..ba0df5e72 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Generate Reports and Populate Data.sln @@ -0,0 +1,64 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Import to Worksheet", "Import to Worksheet\Import to Worksheet.csproj", "{13C8B221-94D8-470B-A1E1-8D553799D107}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Export from Worksheet", "Export frm Worksheet\Export from Worksheet.csproj", "{D05A2172-8387-4CA4-9463-7513E8B5323C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Smart Markers", "Smart Markers", "{C34C0117-809C-497F-9981-0D750D80F193}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Using Custom Objects", "Using Custom Objects\Using Custom Objects.csproj", "{2F5259D4-B1BA-471B-A029-AB6BB82DAF1D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Image Markers", "Image Markers\Image Markers.csproj", "{DE58B13C-2A65-4723-89D2-83A23D9C3C38}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Using Nested Object", "Using Nested Object\Using Nested Object.csproj", "{684F1993-F008-4B6F-AD59-B2237A2E015D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grouping Data OLE DB", "Grouping Data OLE DB\Grouping Data OLE DB.csproj", "{5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Work with Rows and Columns", "Work with Rows n Col\Work with Rows and Columns.csproj", "{530C5F06-29BE-4768-BAF8-053DA876221C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {13C8B221-94D8-470B-A1E1-8D553799D107}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {13C8B221-94D8-470B-A1E1-8D553799D107}.Debug|Any CPU.Build.0 = Debug|Any CPU + {13C8B221-94D8-470B-A1E1-8D553799D107}.Release|Any CPU.ActiveCfg = Release|Any CPU + {13C8B221-94D8-470B-A1E1-8D553799D107}.Release|Any CPU.Build.0 = Release|Any CPU + {D05A2172-8387-4CA4-9463-7513E8B5323C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D05A2172-8387-4CA4-9463-7513E8B5323C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D05A2172-8387-4CA4-9463-7513E8B5323C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D05A2172-8387-4CA4-9463-7513E8B5323C}.Release|Any CPU.Build.0 = Release|Any CPU + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D}.Release|Any CPU.Build.0 = Release|Any CPU + {DE58B13C-2A65-4723-89D2-83A23D9C3C38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DE58B13C-2A65-4723-89D2-83A23D9C3C38}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE58B13C-2A65-4723-89D2-83A23D9C3C38}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DE58B13C-2A65-4723-89D2-83A23D9C3C38}.Release|Any CPU.Build.0 = Release|Any CPU + {684F1993-F008-4B6F-AD59-B2237A2E015D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {684F1993-F008-4B6F-AD59-B2237A2E015D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {684F1993-F008-4B6F-AD59-B2237A2E015D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {684F1993-F008-4B6F-AD59-B2237A2E015D}.Release|Any CPU.Build.0 = Release|Any CPU + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64}.Release|Any CPU.Build.0 = Release|Any CPU + {530C5F06-29BE-4768-BAF8-053DA876221C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {530C5F06-29BE-4768-BAF8-053DA876221C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {530C5F06-29BE-4768-BAF8-053DA876221C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {530C5F06-29BE-4768-BAF8-053DA876221C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D} = {C34C0117-809C-497F-9981-0D750D80F193} + {DE58B13C-2A65-4723-89D2-83A23D9C3C38} = {C34C0117-809C-497F-9981-0D750D80F193} + {684F1993-F008-4B6F-AD59-B2237A2E015D} = {C34C0117-809C-497F-9981-0D750D80F193} + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64} = {C34C0117-809C-497F-9981-0D750D80F193} + EndGlobalSection +EndGlobal diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/App.config new file mode 100644 index 000000000..fad891ada --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/App.config @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/Northwind.mdb b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/Northwind.mdb new file mode 100644 index 0000000000000000000000000000000000000000..51a05c725e6ce8d8d6e059f7315f84a7ed83981b GIT binary patch literal 1742848 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

;D}a-%Ww1;!TVPub>m%iV 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

yAk%!zF)@I5&8z>@ezoH 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

  • _K;8knwFoxLMCHK}%(H;z$3^|iHX5eM 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¬j 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 literal 0 HcmV?d00001 diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.Designer.cs new file mode 100644 index 000000000..c037e8525 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.Designer.cs @@ -0,0 +1,11706 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18063 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#pragma warning disable 1591 + +namespace Grouping_Data_OLE_DB.Data { + + + /// + ///Represents a strongly typed in-memory cache of data. + /// + [global::System.Serializable()] + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")] + [global::System.Xml.Serialization.XmlRootAttribute("NorthwindDataSet")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")] + public partial class NorthwindDataSet : global::System.Data.DataSet { + + private CategoriesDataTable tableCategories; + + private CustomersDataTable tableCustomers; + + private EmployeesDataTable tableEmployees; + + private Order_DetailsDataTable tableOrder_Details; + + private OrdersDataTable tableOrders; + + private ProductsDataTable tableProducts; + + private ShippersDataTable tableShippers; + + private SuppliersDataTable tableSuppliers; + + private global::System.Data.DataRelation relationOrdersOrder_Details; + + private global::System.Data.DataRelation relationProductsOrder_Details; + + private global::System.Data.DataRelation relationCustomersOrders; + + private global::System.Data.DataRelation relationEmployeesOrders; + + private global::System.Data.DataRelation relationShippersOrders; + + private global::System.Data.DataRelation relationCategoriesProducts; + + private global::System.Data.DataRelation relationSuppliersProducts; + + private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public NorthwindDataSet() { + this.BeginInit(); + this.InitClass(); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + base.Relations.CollectionChanged += schemaChangedHandler; + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected NorthwindDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context, false) { + if ((this.IsBinarySerialized(info, context) == true)) { + this.InitVars(false); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + this.Tables.CollectionChanged += schemaChangedHandler1; + this.Relations.CollectionChanged += schemaChangedHandler1; + return; + } + string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string)))); + if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + if ((ds.Tables["Categories"] != null)) { + base.Tables.Add(new CategoriesDataTable(ds.Tables["Categories"])); + } + if ((ds.Tables["Customers"] != null)) { + base.Tables.Add(new CustomersDataTable(ds.Tables["Customers"])); + } + if ((ds.Tables["Employees"] != null)) { + base.Tables.Add(new EmployeesDataTable(ds.Tables["Employees"])); + } + if ((ds.Tables["Order Details"] != null)) { + base.Tables.Add(new Order_DetailsDataTable(ds.Tables["Order Details"])); + } + if ((ds.Tables["Orders"] != null)) { + base.Tables.Add(new OrdersDataTable(ds.Tables["Orders"])); + } + if ((ds.Tables["Products"] != null)) { + base.Tables.Add(new ProductsDataTable(ds.Tables["Products"])); + } + if ((ds.Tables["Shippers"] != null)) { + base.Tables.Add(new ShippersDataTable(ds.Tables["Shippers"])); + } + if ((ds.Tables["Suppliers"] != null)) { + base.Tables.Add(new SuppliersDataTable(ds.Tables["Suppliers"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + } + this.GetSerializationData(info, context); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + this.Relations.CollectionChanged += schemaChangedHandler; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public CategoriesDataTable Categories { + get { + return this.tableCategories; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public CustomersDataTable Customers { + get { + return this.tableCustomers; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public EmployeesDataTable Employees { + get { + return this.tableEmployees; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public Order_DetailsDataTable Order_Details { + get { + return this.tableOrder_Details; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public OrdersDataTable Orders { + get { + return this.tableOrders; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public ProductsDataTable Products { + get { + return this.tableProducts; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public ShippersDataTable Shippers { + get { + return this.tableShippers; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public SuppliersDataTable Suppliers { + get { + return this.tableSuppliers; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.BrowsableAttribute(true)] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)] + public override global::System.Data.SchemaSerializationMode SchemaSerializationMode { + get { + return this._schemaSerializationMode; + } + set { + this._schemaSerializationMode = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataTableCollection Tables { + get { + return base.Tables; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataRelationCollection Relations { + get { + return base.Relations; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void InitializeDerivedDataSet() { + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataSet Clone() { + NorthwindDataSet cln = ((NorthwindDataSet)(base.Clone())); + cln.InitVars(); + cln.SchemaSerializationMode = this.SchemaSerializationMode; + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeTables() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeRelations() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) { + if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + this.Reset(); + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXml(reader); + if ((ds.Tables["Categories"] != null)) { + base.Tables.Add(new CategoriesDataTable(ds.Tables["Categories"])); + } + if ((ds.Tables["Customers"] != null)) { + base.Tables.Add(new CustomersDataTable(ds.Tables["Customers"])); + } + if ((ds.Tables["Employees"] != null)) { + base.Tables.Add(new EmployeesDataTable(ds.Tables["Employees"])); + } + if ((ds.Tables["Order Details"] != null)) { + base.Tables.Add(new Order_DetailsDataTable(ds.Tables["Order Details"])); + } + if ((ds.Tables["Orders"] != null)) { + base.Tables.Add(new OrdersDataTable(ds.Tables["Orders"])); + } + if ((ds.Tables["Products"] != null)) { + base.Tables.Add(new ProductsDataTable(ds.Tables["Products"])); + } + if ((ds.Tables["Shippers"] != null)) { + base.Tables.Add(new ShippersDataTable(ds.Tables["Shippers"])); + } + if ((ds.Tables["Suppliers"] != null)) { + base.Tables.Add(new SuppliersDataTable(ds.Tables["Suppliers"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXml(reader); + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() { + global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream(); + this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null)); + stream.Position = 0; + return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.InitVars(true); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars(bool initTable) { + this.tableCategories = ((CategoriesDataTable)(base.Tables["Categories"])); + if ((initTable == true)) { + if ((this.tableCategories != null)) { + this.tableCategories.InitVars(); + } + } + this.tableCustomers = ((CustomersDataTable)(base.Tables["Customers"])); + if ((initTable == true)) { + if ((this.tableCustomers != null)) { + this.tableCustomers.InitVars(); + } + } + this.tableEmployees = ((EmployeesDataTable)(base.Tables["Employees"])); + if ((initTable == true)) { + if ((this.tableEmployees != null)) { + this.tableEmployees.InitVars(); + } + } + this.tableOrder_Details = ((Order_DetailsDataTable)(base.Tables["Order Details"])); + if ((initTable == true)) { + if ((this.tableOrder_Details != null)) { + this.tableOrder_Details.InitVars(); + } + } + this.tableOrders = ((OrdersDataTable)(base.Tables["Orders"])); + if ((initTable == true)) { + if ((this.tableOrders != null)) { + this.tableOrders.InitVars(); + } + } + this.tableProducts = ((ProductsDataTable)(base.Tables["Products"])); + if ((initTable == true)) { + if ((this.tableProducts != null)) { + this.tableProducts.InitVars(); + } + } + this.tableShippers = ((ShippersDataTable)(base.Tables["Shippers"])); + if ((initTable == true)) { + if ((this.tableShippers != null)) { + this.tableShippers.InitVars(); + } + } + this.tableSuppliers = ((SuppliersDataTable)(base.Tables["Suppliers"])); + if ((initTable == true)) { + if ((this.tableSuppliers != null)) { + this.tableSuppliers.InitVars(); + } + } + this.relationOrdersOrder_Details = this.Relations["OrdersOrder Details"]; + this.relationProductsOrder_Details = this.Relations["ProductsOrder Details"]; + this.relationCustomersOrders = this.Relations["CustomersOrders"]; + this.relationEmployeesOrders = this.Relations["EmployeesOrders"]; + this.relationShippersOrders = this.Relations["ShippersOrders"]; + this.relationCategoriesProducts = this.Relations["CategoriesProducts"]; + this.relationSuppliersProducts = this.Relations["SuppliersProducts"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.DataSetName = "NorthwindDataSet"; + this.Prefix = ""; + this.Namespace = "http://tempuri.org/NorthwindDataSet.xsd"; + this.EnforceConstraints = true; + this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + this.tableCategories = new CategoriesDataTable(); + base.Tables.Add(this.tableCategories); + this.tableCustomers = new CustomersDataTable(); + base.Tables.Add(this.tableCustomers); + this.tableEmployees = new EmployeesDataTable(); + base.Tables.Add(this.tableEmployees); + this.tableOrder_Details = new Order_DetailsDataTable(); + base.Tables.Add(this.tableOrder_Details); + this.tableOrders = new OrdersDataTable(); + base.Tables.Add(this.tableOrders); + this.tableProducts = new ProductsDataTable(); + base.Tables.Add(this.tableProducts); + this.tableShippers = new ShippersDataTable(); + base.Tables.Add(this.tableShippers); + this.tableSuppliers = new SuppliersDataTable(); + base.Tables.Add(this.tableSuppliers); + this.relationOrdersOrder_Details = new global::System.Data.DataRelation("OrdersOrder Details", new global::System.Data.DataColumn[] { + this.tableOrders.OrderIDColumn}, new global::System.Data.DataColumn[] { + this.tableOrder_Details.OrderIDColumn}, false); + this.Relations.Add(this.relationOrdersOrder_Details); + this.relationProductsOrder_Details = new global::System.Data.DataRelation("ProductsOrder Details", new global::System.Data.DataColumn[] { + this.tableProducts.ProductIDColumn}, new global::System.Data.DataColumn[] { + this.tableOrder_Details.ProductIDColumn}, false); + this.Relations.Add(this.relationProductsOrder_Details); + this.relationCustomersOrders = new global::System.Data.DataRelation("CustomersOrders", new global::System.Data.DataColumn[] { + this.tableCustomers.CustomerIDColumn}, new global::System.Data.DataColumn[] { + this.tableOrders.CustomerIDColumn}, false); + this.Relations.Add(this.relationCustomersOrders); + this.relationEmployeesOrders = new global::System.Data.DataRelation("EmployeesOrders", new global::System.Data.DataColumn[] { + this.tableEmployees.EmployeeIDColumn}, new global::System.Data.DataColumn[] { + this.tableOrders.EmployeeIDColumn}, false); + this.Relations.Add(this.relationEmployeesOrders); + this.relationShippersOrders = new global::System.Data.DataRelation("ShippersOrders", new global::System.Data.DataColumn[] { + this.tableShippers.ShipperIDColumn}, new global::System.Data.DataColumn[] { + this.tableOrders.ShipViaColumn}, false); + this.Relations.Add(this.relationShippersOrders); + this.relationCategoriesProducts = new global::System.Data.DataRelation("CategoriesProducts", new global::System.Data.DataColumn[] { + this.tableCategories.CategoryIDColumn}, new global::System.Data.DataColumn[] { + this.tableProducts.CategoryIDColumn}, false); + this.Relations.Add(this.relationCategoriesProducts); + this.relationSuppliersProducts = new global::System.Data.DataRelation("SuppliersProducts", new global::System.Data.DataColumn[] { + this.tableSuppliers.SupplierIDColumn}, new global::System.Data.DataColumn[] { + this.tableProducts.SupplierIDColumn}, false); + this.Relations.Add(this.relationSuppliersProducts); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeCategories() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeCustomers() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeEmployees() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeOrder_Details() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeOrders() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeProducts() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeShippers() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeSuppliers() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) { + if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) { + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); + any.Namespace = ds.Namespace; + sequence.Items.Add(any); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void CategoriesRowChangeEventHandler(object sender, CategoriesRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void CustomersRowChangeEventHandler(object sender, CustomersRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void EmployeesRowChangeEventHandler(object sender, EmployeesRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void Order_DetailsRowChangeEventHandler(object sender, Order_DetailsRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void OrdersRowChangeEventHandler(object sender, OrdersRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void ProductsRowChangeEventHandler(object sender, ProductsRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void ShippersRowChangeEventHandler(object sender, ShippersRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void SuppliersRowChangeEventHandler(object sender, SuppliersRowChangeEvent e); + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class CategoriesDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnCategoryID; + + private global::System.Data.DataColumn columnCategoryName; + + private global::System.Data.DataColumn columnDescription; + + private global::System.Data.DataColumn columnPicture; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesDataTable() { + this.TableName = "Categories"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal CategoriesDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected CategoriesDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CategoryIDColumn { + get { + return this.columnCategoryID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CategoryNameColumn { + get { + return this.columnCategoryName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn DescriptionColumn { + get { + return this.columnDescription; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PictureColumn { + get { + return this.columnPicture; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow this[int index] { + get { + return ((CategoriesRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CategoriesRowChangeEventHandler CategoriesRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CategoriesRowChangeEventHandler CategoriesRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CategoriesRowChangeEventHandler CategoriesRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CategoriesRowChangeEventHandler CategoriesRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddCategoriesRow(CategoriesRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow AddCategoriesRow(string CategoryName, string Description, byte[] Picture) { + CategoriesRow rowCategoriesRow = ((CategoriesRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + CategoryName, + Description, + Picture}; + rowCategoriesRow.ItemArray = columnValuesArray; + this.Rows.Add(rowCategoriesRow); + return rowCategoriesRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow FindByCategoryID(int CategoryID) { + return ((CategoriesRow)(this.Rows.Find(new object[] { + CategoryID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + CategoriesDataTable cln = ((CategoriesDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new CategoriesDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnCategoryID = base.Columns["CategoryID"]; + this.columnCategoryName = base.Columns["CategoryName"]; + this.columnDescription = base.Columns["Description"]; + this.columnPicture = base.Columns["Picture"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnCategoryID = new global::System.Data.DataColumn("CategoryID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCategoryID); + this.columnCategoryName = new global::System.Data.DataColumn("CategoryName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCategoryName); + this.columnDescription = new global::System.Data.DataColumn("Description", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnDescription); + this.columnPicture = new global::System.Data.DataColumn("Picture", typeof(byte[]), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPicture); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnCategoryID}, true)); + this.columnCategoryID.AutoIncrement = true; + this.columnCategoryID.AutoIncrementSeed = -1; + this.columnCategoryID.AutoIncrementStep = -1; + this.columnCategoryID.AllowDBNull = false; + this.columnCategoryID.Unique = true; + this.columnCategoryName.MaxLength = 15; + this.columnDescription.MaxLength = 536870910; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow NewCategoriesRow() { + return ((CategoriesRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new CategoriesRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(CategoriesRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.CategoriesRowChanged != null)) { + this.CategoriesRowChanged(this, new CategoriesRowChangeEvent(((CategoriesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.CategoriesRowChanging != null)) { + this.CategoriesRowChanging(this, new CategoriesRowChangeEvent(((CategoriesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.CategoriesRowDeleted != null)) { + this.CategoriesRowDeleted(this, new CategoriesRowChangeEvent(((CategoriesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.CategoriesRowDeleting != null)) { + this.CategoriesRowDeleting(this, new CategoriesRowChangeEvent(((CategoriesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveCategoriesRow(CategoriesRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "CategoriesDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class CustomersDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnCustomerID; + + private global::System.Data.DataColumn columnCompanyName; + + private global::System.Data.DataColumn columnContactName; + + private global::System.Data.DataColumn columnContactTitle; + + private global::System.Data.DataColumn columnAddress; + + private global::System.Data.DataColumn columnCity; + + private global::System.Data.DataColumn columnRegion; + + private global::System.Data.DataColumn columnPostalCode; + + private global::System.Data.DataColumn columnCountry; + + private global::System.Data.DataColumn columnPhone; + + private global::System.Data.DataColumn columnFax; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersDataTable() { + this.TableName = "Customers"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal CustomersDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected CustomersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CustomerIDColumn { + get { + return this.columnCustomerID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CompanyNameColumn { + get { + return this.columnCompanyName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ContactNameColumn { + get { + return this.columnContactName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ContactTitleColumn { + get { + return this.columnContactTitle; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn AddressColumn { + get { + return this.columnAddress; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CityColumn { + get { + return this.columnCity; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn RegionColumn { + get { + return this.columnRegion; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PostalCodeColumn { + get { + return this.columnPostalCode; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CountryColumn { + get { + return this.columnCountry; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PhoneColumn { + get { + return this.columnPhone; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn FaxColumn { + get { + return this.columnFax; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow this[int index] { + get { + return ((CustomersRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CustomersRowChangeEventHandler CustomersRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CustomersRowChangeEventHandler CustomersRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CustomersRowChangeEventHandler CustomersRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event CustomersRowChangeEventHandler CustomersRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddCustomersRow(CustomersRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow AddCustomersRow(string CustomerID, string CompanyName, string ContactName, string ContactTitle, string Address, string City, string Region, string PostalCode, string Country, string Phone, string Fax) { + CustomersRow rowCustomersRow = ((CustomersRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + CustomerID, + CompanyName, + ContactName, + ContactTitle, + Address, + City, + Region, + PostalCode, + Country, + Phone, + Fax}; + rowCustomersRow.ItemArray = columnValuesArray; + this.Rows.Add(rowCustomersRow); + return rowCustomersRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow FindByCustomerID(string CustomerID) { + return ((CustomersRow)(this.Rows.Find(new object[] { + CustomerID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + CustomersDataTable cln = ((CustomersDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new CustomersDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnCustomerID = base.Columns["CustomerID"]; + this.columnCompanyName = base.Columns["CompanyName"]; + this.columnContactName = base.Columns["ContactName"]; + this.columnContactTitle = base.Columns["ContactTitle"]; + this.columnAddress = base.Columns["Address"]; + this.columnCity = base.Columns["City"]; + this.columnRegion = base.Columns["Region"]; + this.columnPostalCode = base.Columns["PostalCode"]; + this.columnCountry = base.Columns["Country"]; + this.columnPhone = base.Columns["Phone"]; + this.columnFax = base.Columns["Fax"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCustomerID); + this.columnCompanyName = new global::System.Data.DataColumn("CompanyName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCompanyName); + this.columnContactName = new global::System.Data.DataColumn("ContactName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnContactName); + this.columnContactTitle = new global::System.Data.DataColumn("ContactTitle", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnContactTitle); + this.columnAddress = new global::System.Data.DataColumn("Address", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnAddress); + this.columnCity = new global::System.Data.DataColumn("City", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCity); + this.columnRegion = new global::System.Data.DataColumn("Region", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnRegion); + this.columnPostalCode = new global::System.Data.DataColumn("PostalCode", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPostalCode); + this.columnCountry = new global::System.Data.DataColumn("Country", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCountry); + this.columnPhone = new global::System.Data.DataColumn("Phone", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPhone); + this.columnFax = new global::System.Data.DataColumn("Fax", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnFax); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnCustomerID}, true)); + this.columnCustomerID.AllowDBNull = false; + this.columnCustomerID.Unique = true; + this.columnCustomerID.MaxLength = 5; + this.columnCompanyName.MaxLength = 40; + this.columnContactName.MaxLength = 30; + this.columnContactTitle.MaxLength = 30; + this.columnAddress.MaxLength = 60; + this.columnCity.MaxLength = 15; + this.columnRegion.MaxLength = 15; + this.columnPostalCode.MaxLength = 10; + this.columnCountry.MaxLength = 15; + this.columnPhone.MaxLength = 24; + this.columnFax.MaxLength = 24; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow NewCustomersRow() { + return ((CustomersRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new CustomersRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(CustomersRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.CustomersRowChanged != null)) { + this.CustomersRowChanged(this, new CustomersRowChangeEvent(((CustomersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.CustomersRowChanging != null)) { + this.CustomersRowChanging(this, new CustomersRowChangeEvent(((CustomersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.CustomersRowDeleted != null)) { + this.CustomersRowDeleted(this, new CustomersRowChangeEvent(((CustomersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.CustomersRowDeleting != null)) { + this.CustomersRowDeleting(this, new CustomersRowChangeEvent(((CustomersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveCustomersRow(CustomersRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "CustomersDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class EmployeesDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnEmployeeID; + + private global::System.Data.DataColumn columnLastName; + + private global::System.Data.DataColumn columnFirstName; + + private global::System.Data.DataColumn columnTitle; + + private global::System.Data.DataColumn columnTitleOfCourtesy; + + private global::System.Data.DataColumn columnBirthDate; + + private global::System.Data.DataColumn columnHireDate; + + private global::System.Data.DataColumn columnAddress; + + private global::System.Data.DataColumn columnCity; + + private global::System.Data.DataColumn columnRegion; + + private global::System.Data.DataColumn columnPostalCode; + + private global::System.Data.DataColumn columnCountry; + + private global::System.Data.DataColumn columnHomePhone; + + private global::System.Data.DataColumn columnExtension; + + private global::System.Data.DataColumn columnPhoto; + + private global::System.Data.DataColumn columnNotes; + + private global::System.Data.DataColumn columnReportsTo; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesDataTable() { + this.TableName = "Employees"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal EmployeesDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected EmployeesDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn EmployeeIDColumn { + get { + return this.columnEmployeeID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn LastNameColumn { + get { + return this.columnLastName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn FirstNameColumn { + get { + return this.columnFirstName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn TitleColumn { + get { + return this.columnTitle; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn TitleOfCourtesyColumn { + get { + return this.columnTitleOfCourtesy; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn BirthDateColumn { + get { + return this.columnBirthDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn HireDateColumn { + get { + return this.columnHireDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn AddressColumn { + get { + return this.columnAddress; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CityColumn { + get { + return this.columnCity; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn RegionColumn { + get { + return this.columnRegion; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PostalCodeColumn { + get { + return this.columnPostalCode; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CountryColumn { + get { + return this.columnCountry; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn HomePhoneColumn { + get { + return this.columnHomePhone; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ExtensionColumn { + get { + return this.columnExtension; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PhotoColumn { + get { + return this.columnPhoto; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn NotesColumn { + get { + return this.columnNotes; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ReportsToColumn { + get { + return this.columnReportsTo; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow this[int index] { + get { + return ((EmployeesRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event EmployeesRowChangeEventHandler EmployeesRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event EmployeesRowChangeEventHandler EmployeesRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event EmployeesRowChangeEventHandler EmployeesRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event EmployeesRowChangeEventHandler EmployeesRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddEmployeesRow(EmployeesRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow AddEmployeesRow( + string LastName, + string FirstName, + string Title, + string TitleOfCourtesy, + System.DateTime BirthDate, + System.DateTime HireDate, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string HomePhone, + string Extension, + byte[] Photo, + string Notes, + int ReportsTo) { + EmployeesRow rowEmployeesRow = ((EmployeesRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + LastName, + FirstName, + Title, + TitleOfCourtesy, + BirthDate, + HireDate, + Address, + City, + Region, + PostalCode, + Country, + HomePhone, + Extension, + Photo, + Notes, + ReportsTo}; + rowEmployeesRow.ItemArray = columnValuesArray; + this.Rows.Add(rowEmployeesRow); + return rowEmployeesRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow FindByEmployeeID(int EmployeeID) { + return ((EmployeesRow)(this.Rows.Find(new object[] { + EmployeeID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + EmployeesDataTable cln = ((EmployeesDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new EmployeesDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnEmployeeID = base.Columns["EmployeeID"]; + this.columnLastName = base.Columns["LastName"]; + this.columnFirstName = base.Columns["FirstName"]; + this.columnTitle = base.Columns["Title"]; + this.columnTitleOfCourtesy = base.Columns["TitleOfCourtesy"]; + this.columnBirthDate = base.Columns["BirthDate"]; + this.columnHireDate = base.Columns["HireDate"]; + this.columnAddress = base.Columns["Address"]; + this.columnCity = base.Columns["City"]; + this.columnRegion = base.Columns["Region"]; + this.columnPostalCode = base.Columns["PostalCode"]; + this.columnCountry = base.Columns["Country"]; + this.columnHomePhone = base.Columns["HomePhone"]; + this.columnExtension = base.Columns["Extension"]; + this.columnPhoto = base.Columns["Photo"]; + this.columnNotes = base.Columns["Notes"]; + this.columnReportsTo = base.Columns["ReportsTo"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnEmployeeID = new global::System.Data.DataColumn("EmployeeID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnEmployeeID); + this.columnLastName = new global::System.Data.DataColumn("LastName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnLastName); + this.columnFirstName = new global::System.Data.DataColumn("FirstName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnFirstName); + this.columnTitle = new global::System.Data.DataColumn("Title", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnTitle); + this.columnTitleOfCourtesy = new global::System.Data.DataColumn("TitleOfCourtesy", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnTitleOfCourtesy); + this.columnBirthDate = new global::System.Data.DataColumn("BirthDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnBirthDate); + this.columnHireDate = new global::System.Data.DataColumn("HireDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnHireDate); + this.columnAddress = new global::System.Data.DataColumn("Address", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnAddress); + this.columnCity = new global::System.Data.DataColumn("City", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCity); + this.columnRegion = new global::System.Data.DataColumn("Region", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnRegion); + this.columnPostalCode = new global::System.Data.DataColumn("PostalCode", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPostalCode); + this.columnCountry = new global::System.Data.DataColumn("Country", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCountry); + this.columnHomePhone = new global::System.Data.DataColumn("HomePhone", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnHomePhone); + this.columnExtension = new global::System.Data.DataColumn("Extension", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnExtension); + this.columnPhoto = new global::System.Data.DataColumn("Photo", typeof(byte[]), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPhoto); + this.columnNotes = new global::System.Data.DataColumn("Notes", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnNotes); + this.columnReportsTo = new global::System.Data.DataColumn("ReportsTo", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnReportsTo); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnEmployeeID}, true)); + this.columnEmployeeID.AutoIncrement = true; + this.columnEmployeeID.AutoIncrementSeed = -1; + this.columnEmployeeID.AutoIncrementStep = -1; + this.columnEmployeeID.AllowDBNull = false; + this.columnEmployeeID.Unique = true; + this.columnLastName.MaxLength = 20; + this.columnFirstName.MaxLength = 10; + this.columnTitle.MaxLength = 30; + this.columnTitleOfCourtesy.MaxLength = 25; + this.columnAddress.MaxLength = 60; + this.columnCity.MaxLength = 15; + this.columnRegion.MaxLength = 15; + this.columnPostalCode.MaxLength = 10; + this.columnCountry.MaxLength = 15; + this.columnHomePhone.MaxLength = 24; + this.columnExtension.MaxLength = 4; + this.columnNotes.MaxLength = 536870910; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow NewEmployeesRow() { + return ((EmployeesRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new EmployeesRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(EmployeesRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.EmployeesRowChanged != null)) { + this.EmployeesRowChanged(this, new EmployeesRowChangeEvent(((EmployeesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.EmployeesRowChanging != null)) { + this.EmployeesRowChanging(this, new EmployeesRowChangeEvent(((EmployeesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.EmployeesRowDeleted != null)) { + this.EmployeesRowDeleted(this, new EmployeesRowChangeEvent(((EmployeesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.EmployeesRowDeleting != null)) { + this.EmployeesRowDeleting(this, new EmployeesRowChangeEvent(((EmployeesRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveEmployeesRow(EmployeesRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "EmployeesDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class Order_DetailsDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnOrderID; + + private global::System.Data.DataColumn columnProductID; + + private global::System.Data.DataColumn columnUnitPrice; + + private global::System.Data.DataColumn columnQuantity; + + private global::System.Data.DataColumn columnDiscount; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsDataTable() { + this.TableName = "Order Details"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal Order_DetailsDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected Order_DetailsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrderIDColumn { + get { + return this.columnOrderID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ProductIDColumn { + get { + return this.columnProductID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn UnitPriceColumn { + get { + return this.columnUnitPrice; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn QuantityColumn { + get { + return this.columnQuantity; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn DiscountColumn { + get { + return this.columnDiscount; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow this[int index] { + get { + return ((Order_DetailsRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event Order_DetailsRowChangeEventHandler Order_DetailsRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event Order_DetailsRowChangeEventHandler Order_DetailsRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event Order_DetailsRowChangeEventHandler Order_DetailsRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event Order_DetailsRowChangeEventHandler Order_DetailsRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddOrder_DetailsRow(Order_DetailsRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow AddOrder_DetailsRow(OrdersRow parentOrdersRowByOrdersOrder_Details, ProductsRow parentProductsRowByProductsOrder_Details, decimal UnitPrice, short Quantity, float Discount) { + Order_DetailsRow rowOrder_DetailsRow = ((Order_DetailsRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + null, + UnitPrice, + Quantity, + Discount}; + if ((parentOrdersRowByOrdersOrder_Details != null)) { + columnValuesArray[0] = parentOrdersRowByOrdersOrder_Details[0]; + } + if ((parentProductsRowByProductsOrder_Details != null)) { + columnValuesArray[1] = parentProductsRowByProductsOrder_Details[0]; + } + rowOrder_DetailsRow.ItemArray = columnValuesArray; + this.Rows.Add(rowOrder_DetailsRow); + return rowOrder_DetailsRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow FindByOrderIDProductID(int OrderID, int ProductID) { + return ((Order_DetailsRow)(this.Rows.Find(new object[] { + OrderID, + ProductID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + Order_DetailsDataTable cln = ((Order_DetailsDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new Order_DetailsDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnOrderID = base.Columns["OrderID"]; + this.columnProductID = base.Columns["ProductID"]; + this.columnUnitPrice = base.Columns["UnitPrice"]; + this.columnQuantity = base.Columns["Quantity"]; + this.columnDiscount = base.Columns["Discount"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnOrderID = new global::System.Data.DataColumn("OrderID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrderID); + this.columnProductID = new global::System.Data.DataColumn("ProductID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnProductID); + this.columnUnitPrice = new global::System.Data.DataColumn("UnitPrice", typeof(decimal), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnUnitPrice); + this.columnQuantity = new global::System.Data.DataColumn("Quantity", typeof(short), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnQuantity); + this.columnDiscount = new global::System.Data.DataColumn("Discount", typeof(float), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnDiscount); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnOrderID, + this.columnProductID}, true)); + this.columnOrderID.AllowDBNull = false; + this.columnProductID.AllowDBNull = false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow NewOrder_DetailsRow() { + return ((Order_DetailsRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new Order_DetailsRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(Order_DetailsRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.Order_DetailsRowChanged != null)) { + this.Order_DetailsRowChanged(this, new Order_DetailsRowChangeEvent(((Order_DetailsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.Order_DetailsRowChanging != null)) { + this.Order_DetailsRowChanging(this, new Order_DetailsRowChangeEvent(((Order_DetailsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.Order_DetailsRowDeleted != null)) { + this.Order_DetailsRowDeleted(this, new Order_DetailsRowChangeEvent(((Order_DetailsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.Order_DetailsRowDeleting != null)) { + this.Order_DetailsRowDeleting(this, new Order_DetailsRowChangeEvent(((Order_DetailsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveOrder_DetailsRow(Order_DetailsRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "Order_DetailsDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class OrdersDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnOrderID; + + private global::System.Data.DataColumn columnCustomerID; + + private global::System.Data.DataColumn columnEmployeeID; + + private global::System.Data.DataColumn columnOrderDate; + + private global::System.Data.DataColumn columnRequiredDate; + + private global::System.Data.DataColumn columnShippedDate; + + private global::System.Data.DataColumn columnShipVia; + + private global::System.Data.DataColumn columnFreight; + + private global::System.Data.DataColumn columnShipName; + + private global::System.Data.DataColumn columnShipAddress; + + private global::System.Data.DataColumn columnShipCity; + + private global::System.Data.DataColumn columnShipRegion; + + private global::System.Data.DataColumn columnShipPostalCode; + + private global::System.Data.DataColumn columnShipCountry; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersDataTable() { + this.TableName = "Orders"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal OrdersDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected OrdersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrderIDColumn { + get { + return this.columnOrderID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CustomerIDColumn { + get { + return this.columnCustomerID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn EmployeeIDColumn { + get { + return this.columnEmployeeID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrderDateColumn { + get { + return this.columnOrderDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn RequiredDateColumn { + get { + return this.columnRequiredDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShippedDateColumn { + get { + return this.columnShippedDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipViaColumn { + get { + return this.columnShipVia; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn FreightColumn { + get { + return this.columnFreight; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipNameColumn { + get { + return this.columnShipName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipAddressColumn { + get { + return this.columnShipAddress; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipCityColumn { + get { + return this.columnShipCity; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipRegionColumn { + get { + return this.columnShipRegion; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipPostalCodeColumn { + get { + return this.columnShipPostalCode; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipCountryColumn { + get { + return this.columnShipCountry; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow this[int index] { + get { + return ((OrdersRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event OrdersRowChangeEventHandler OrdersRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event OrdersRowChangeEventHandler OrdersRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event OrdersRowChangeEventHandler OrdersRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event OrdersRowChangeEventHandler OrdersRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddOrdersRow(OrdersRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow AddOrdersRow(CustomersRow parentCustomersRowByCustomersOrders, EmployeesRow parentEmployeesRowByEmployeesOrders, System.DateTime OrderDate, System.DateTime RequiredDate, System.DateTime ShippedDate, ShippersRow parentShippersRowByShippersOrders, decimal Freight, string ShipName, string ShipAddress, string ShipCity, string ShipRegion, string ShipPostalCode, string ShipCountry) { + OrdersRow rowOrdersRow = ((OrdersRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + null, + null, + OrderDate, + RequiredDate, + ShippedDate, + null, + Freight, + ShipName, + ShipAddress, + ShipCity, + ShipRegion, + ShipPostalCode, + ShipCountry}; + if ((parentCustomersRowByCustomersOrders != null)) { + columnValuesArray[1] = parentCustomersRowByCustomersOrders[0]; + } + if ((parentEmployeesRowByEmployeesOrders != null)) { + columnValuesArray[2] = parentEmployeesRowByEmployeesOrders[0]; + } + if ((parentShippersRowByShippersOrders != null)) { + columnValuesArray[6] = parentShippersRowByShippersOrders[0]; + } + rowOrdersRow.ItemArray = columnValuesArray; + this.Rows.Add(rowOrdersRow); + return rowOrdersRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow FindByOrderID(int OrderID) { + return ((OrdersRow)(this.Rows.Find(new object[] { + OrderID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + OrdersDataTable cln = ((OrdersDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new OrdersDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnOrderID = base.Columns["OrderID"]; + this.columnCustomerID = base.Columns["CustomerID"]; + this.columnEmployeeID = base.Columns["EmployeeID"]; + this.columnOrderDate = base.Columns["OrderDate"]; + this.columnRequiredDate = base.Columns["RequiredDate"]; + this.columnShippedDate = base.Columns["ShippedDate"]; + this.columnShipVia = base.Columns["ShipVia"]; + this.columnFreight = base.Columns["Freight"]; + this.columnShipName = base.Columns["ShipName"]; + this.columnShipAddress = base.Columns["ShipAddress"]; + this.columnShipCity = base.Columns["ShipCity"]; + this.columnShipRegion = base.Columns["ShipRegion"]; + this.columnShipPostalCode = base.Columns["ShipPostalCode"]; + this.columnShipCountry = base.Columns["ShipCountry"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnOrderID = new global::System.Data.DataColumn("OrderID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrderID); + this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCustomerID); + this.columnEmployeeID = new global::System.Data.DataColumn("EmployeeID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnEmployeeID); + this.columnOrderDate = new global::System.Data.DataColumn("OrderDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrderDate); + this.columnRequiredDate = new global::System.Data.DataColumn("RequiredDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnRequiredDate); + this.columnShippedDate = new global::System.Data.DataColumn("ShippedDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShippedDate); + this.columnShipVia = new global::System.Data.DataColumn("ShipVia", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipVia); + this.columnFreight = new global::System.Data.DataColumn("Freight", typeof(decimal), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnFreight); + this.columnShipName = new global::System.Data.DataColumn("ShipName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipName); + this.columnShipAddress = new global::System.Data.DataColumn("ShipAddress", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipAddress); + this.columnShipCity = new global::System.Data.DataColumn("ShipCity", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipCity); + this.columnShipRegion = new global::System.Data.DataColumn("ShipRegion", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipRegion); + this.columnShipPostalCode = new global::System.Data.DataColumn("ShipPostalCode", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipPostalCode); + this.columnShipCountry = new global::System.Data.DataColumn("ShipCountry", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipCountry); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnOrderID}, true)); + this.columnOrderID.AutoIncrement = true; + this.columnOrderID.AutoIncrementSeed = -1; + this.columnOrderID.AutoIncrementStep = -1; + this.columnOrderID.AllowDBNull = false; + this.columnOrderID.Unique = true; + this.columnCustomerID.MaxLength = 5; + this.columnShipName.MaxLength = 40; + this.columnShipAddress.MaxLength = 60; + this.columnShipCity.MaxLength = 15; + this.columnShipRegion.MaxLength = 15; + this.columnShipPostalCode.MaxLength = 10; + this.columnShipCountry.MaxLength = 15; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow NewOrdersRow() { + return ((OrdersRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new OrdersRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(OrdersRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.OrdersRowChanged != null)) { + this.OrdersRowChanged(this, new OrdersRowChangeEvent(((OrdersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.OrdersRowChanging != null)) { + this.OrdersRowChanging(this, new OrdersRowChangeEvent(((OrdersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.OrdersRowDeleted != null)) { + this.OrdersRowDeleted(this, new OrdersRowChangeEvent(((OrdersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.OrdersRowDeleting != null)) { + this.OrdersRowDeleting(this, new OrdersRowChangeEvent(((OrdersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveOrdersRow(OrdersRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "OrdersDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class ProductsDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnProductID; + + private global::System.Data.DataColumn columnProductName; + + private global::System.Data.DataColumn columnSupplierID; + + private global::System.Data.DataColumn columnCategoryID; + + private global::System.Data.DataColumn columnQuantityPerUnit; + + private global::System.Data.DataColumn columnUnitPrice; + + private global::System.Data.DataColumn columnUnitsInStock; + + private global::System.Data.DataColumn columnUnitsOnOrder; + + private global::System.Data.DataColumn columnReorderLevel; + + private global::System.Data.DataColumn columnDiscontinued; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsDataTable() { + this.TableName = "Products"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ProductsDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected ProductsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ProductIDColumn { + get { + return this.columnProductID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ProductNameColumn { + get { + return this.columnProductName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn SupplierIDColumn { + get { + return this.columnSupplierID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CategoryIDColumn { + get { + return this.columnCategoryID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn QuantityPerUnitColumn { + get { + return this.columnQuantityPerUnit; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn UnitPriceColumn { + get { + return this.columnUnitPrice; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn UnitsInStockColumn { + get { + return this.columnUnitsInStock; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn UnitsOnOrderColumn { + get { + return this.columnUnitsOnOrder; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ReorderLevelColumn { + get { + return this.columnReorderLevel; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn DiscontinuedColumn { + get { + return this.columnDiscontinued; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow this[int index] { + get { + return ((ProductsRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ProductsRowChangeEventHandler ProductsRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ProductsRowChangeEventHandler ProductsRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ProductsRowChangeEventHandler ProductsRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ProductsRowChangeEventHandler ProductsRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddProductsRow(ProductsRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow AddProductsRow(string ProductName, SuppliersRow parentSuppliersRowBySuppliersProducts, CategoriesRow parentCategoriesRowByCategoriesProducts, string QuantityPerUnit, decimal UnitPrice, short UnitsInStock, short UnitsOnOrder, short ReorderLevel, bool Discontinued) { + ProductsRow rowProductsRow = ((ProductsRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + ProductName, + null, + null, + QuantityPerUnit, + UnitPrice, + UnitsInStock, + UnitsOnOrder, + ReorderLevel, + Discontinued}; + if ((parentSuppliersRowBySuppliersProducts != null)) { + columnValuesArray[2] = parentSuppliersRowBySuppliersProducts[0]; + } + if ((parentCategoriesRowByCategoriesProducts != null)) { + columnValuesArray[3] = parentCategoriesRowByCategoriesProducts[0]; + } + rowProductsRow.ItemArray = columnValuesArray; + this.Rows.Add(rowProductsRow); + return rowProductsRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow FindByProductID(int ProductID) { + return ((ProductsRow)(this.Rows.Find(new object[] { + ProductID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + ProductsDataTable cln = ((ProductsDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new ProductsDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnProductID = base.Columns["ProductID"]; + this.columnProductName = base.Columns["ProductName"]; + this.columnSupplierID = base.Columns["SupplierID"]; + this.columnCategoryID = base.Columns["CategoryID"]; + this.columnQuantityPerUnit = base.Columns["QuantityPerUnit"]; + this.columnUnitPrice = base.Columns["UnitPrice"]; + this.columnUnitsInStock = base.Columns["UnitsInStock"]; + this.columnUnitsOnOrder = base.Columns["UnitsOnOrder"]; + this.columnReorderLevel = base.Columns["ReorderLevel"]; + this.columnDiscontinued = base.Columns["Discontinued"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnProductID = new global::System.Data.DataColumn("ProductID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnProductID); + this.columnProductName = new global::System.Data.DataColumn("ProductName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnProductName); + this.columnSupplierID = new global::System.Data.DataColumn("SupplierID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnSupplierID); + this.columnCategoryID = new global::System.Data.DataColumn("CategoryID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCategoryID); + this.columnQuantityPerUnit = new global::System.Data.DataColumn("QuantityPerUnit", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnQuantityPerUnit); + this.columnUnitPrice = new global::System.Data.DataColumn("UnitPrice", typeof(decimal), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnUnitPrice); + this.columnUnitsInStock = new global::System.Data.DataColumn("UnitsInStock", typeof(short), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnUnitsInStock); + this.columnUnitsOnOrder = new global::System.Data.DataColumn("UnitsOnOrder", typeof(short), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnUnitsOnOrder); + this.columnReorderLevel = new global::System.Data.DataColumn("ReorderLevel", typeof(short), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnReorderLevel); + this.columnDiscontinued = new global::System.Data.DataColumn("Discontinued", typeof(bool), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnDiscontinued); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnProductID}, true)); + this.columnProductID.AutoIncrement = true; + this.columnProductID.AutoIncrementSeed = -1; + this.columnProductID.AutoIncrementStep = -1; + this.columnProductID.AllowDBNull = false; + this.columnProductID.Unique = true; + this.columnProductName.MaxLength = 40; + this.columnQuantityPerUnit.MaxLength = 20; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow NewProductsRow() { + return ((ProductsRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new ProductsRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(ProductsRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.ProductsRowChanged != null)) { + this.ProductsRowChanged(this, new ProductsRowChangeEvent(((ProductsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.ProductsRowChanging != null)) { + this.ProductsRowChanging(this, new ProductsRowChangeEvent(((ProductsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.ProductsRowDeleted != null)) { + this.ProductsRowDeleted(this, new ProductsRowChangeEvent(((ProductsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.ProductsRowDeleting != null)) { + this.ProductsRowDeleting(this, new ProductsRowChangeEvent(((ProductsRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveProductsRow(ProductsRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "ProductsDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class ShippersDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnShipperID; + + private global::System.Data.DataColumn columnCompanyName; + + private global::System.Data.DataColumn columnPhone; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersDataTable() { + this.TableName = "Shippers"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ShippersDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected ShippersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ShipperIDColumn { + get { + return this.columnShipperID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CompanyNameColumn { + get { + return this.columnCompanyName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PhoneColumn { + get { + return this.columnPhone; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow this[int index] { + get { + return ((ShippersRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ShippersRowChangeEventHandler ShippersRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ShippersRowChangeEventHandler ShippersRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ShippersRowChangeEventHandler ShippersRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ShippersRowChangeEventHandler ShippersRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddShippersRow(ShippersRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow AddShippersRow(string CompanyName, string Phone) { + ShippersRow rowShippersRow = ((ShippersRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + CompanyName, + Phone}; + rowShippersRow.ItemArray = columnValuesArray; + this.Rows.Add(rowShippersRow); + return rowShippersRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow FindByShipperID(int ShipperID) { + return ((ShippersRow)(this.Rows.Find(new object[] { + ShipperID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + ShippersDataTable cln = ((ShippersDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new ShippersDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnShipperID = base.Columns["ShipperID"]; + this.columnCompanyName = base.Columns["CompanyName"]; + this.columnPhone = base.Columns["Phone"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnShipperID = new global::System.Data.DataColumn("ShipperID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnShipperID); + this.columnCompanyName = new global::System.Data.DataColumn("CompanyName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCompanyName); + this.columnPhone = new global::System.Data.DataColumn("Phone", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPhone); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnShipperID}, true)); + this.columnShipperID.AutoIncrement = true; + this.columnShipperID.AutoIncrementSeed = -1; + this.columnShipperID.AutoIncrementStep = -1; + this.columnShipperID.AllowDBNull = false; + this.columnShipperID.Unique = true; + this.columnCompanyName.MaxLength = 40; + this.columnPhone.MaxLength = 24; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow NewShippersRow() { + return ((ShippersRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new ShippersRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(ShippersRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.ShippersRowChanged != null)) { + this.ShippersRowChanged(this, new ShippersRowChangeEvent(((ShippersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.ShippersRowChanging != null)) { + this.ShippersRowChanging(this, new ShippersRowChangeEvent(((ShippersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.ShippersRowDeleted != null)) { + this.ShippersRowDeleted(this, new ShippersRowChangeEvent(((ShippersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.ShippersRowDeleting != null)) { + this.ShippersRowDeleting(this, new ShippersRowChangeEvent(((ShippersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveShippersRow(ShippersRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "ShippersDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class SuppliersDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnSupplierID; + + private global::System.Data.DataColumn columnCompanyName; + + private global::System.Data.DataColumn columnContactName; + + private global::System.Data.DataColumn columnContactTitle; + + private global::System.Data.DataColumn columnAddress; + + private global::System.Data.DataColumn columnCity; + + private global::System.Data.DataColumn columnRegion; + + private global::System.Data.DataColumn columnPostalCode; + + private global::System.Data.DataColumn columnCountry; + + private global::System.Data.DataColumn columnPhone; + + private global::System.Data.DataColumn columnFax; + + private global::System.Data.DataColumn columnHomePage; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersDataTable() { + this.TableName = "Suppliers"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal SuppliersDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected SuppliersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn SupplierIDColumn { + get { + return this.columnSupplierID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CompanyNameColumn { + get { + return this.columnCompanyName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ContactNameColumn { + get { + return this.columnContactName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ContactTitleColumn { + get { + return this.columnContactTitle; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn AddressColumn { + get { + return this.columnAddress; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CityColumn { + get { + return this.columnCity; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn RegionColumn { + get { + return this.columnRegion; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PostalCodeColumn { + get { + return this.columnPostalCode; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CountryColumn { + get { + return this.columnCountry; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PhoneColumn { + get { + return this.columnPhone; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn FaxColumn { + get { + return this.columnFax; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn HomePageColumn { + get { + return this.columnHomePage; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow this[int index] { + get { + return ((SuppliersRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event SuppliersRowChangeEventHandler SuppliersRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event SuppliersRowChangeEventHandler SuppliersRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event SuppliersRowChangeEventHandler SuppliersRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event SuppliersRowChangeEventHandler SuppliersRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddSuppliersRow(SuppliersRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow AddSuppliersRow(string CompanyName, string ContactName, string ContactTitle, string Address, string City, string Region, string PostalCode, string Country, string Phone, string Fax, string HomePage) { + SuppliersRow rowSuppliersRow = ((SuppliersRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + CompanyName, + ContactName, + ContactTitle, + Address, + City, + Region, + PostalCode, + Country, + Phone, + Fax, + HomePage}; + rowSuppliersRow.ItemArray = columnValuesArray; + this.Rows.Add(rowSuppliersRow); + return rowSuppliersRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow FindBySupplierID(int SupplierID) { + return ((SuppliersRow)(this.Rows.Find(new object[] { + SupplierID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + SuppliersDataTable cln = ((SuppliersDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new SuppliersDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnSupplierID = base.Columns["SupplierID"]; + this.columnCompanyName = base.Columns["CompanyName"]; + this.columnContactName = base.Columns["ContactName"]; + this.columnContactTitle = base.Columns["ContactTitle"]; + this.columnAddress = base.Columns["Address"]; + this.columnCity = base.Columns["City"]; + this.columnRegion = base.Columns["Region"]; + this.columnPostalCode = base.Columns["PostalCode"]; + this.columnCountry = base.Columns["Country"]; + this.columnPhone = base.Columns["Phone"]; + this.columnFax = base.Columns["Fax"]; + this.columnHomePage = base.Columns["HomePage"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnSupplierID = new global::System.Data.DataColumn("SupplierID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnSupplierID); + this.columnCompanyName = new global::System.Data.DataColumn("CompanyName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCompanyName); + this.columnContactName = new global::System.Data.DataColumn("ContactName", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnContactName); + this.columnContactTitle = new global::System.Data.DataColumn("ContactTitle", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnContactTitle); + this.columnAddress = new global::System.Data.DataColumn("Address", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnAddress); + this.columnCity = new global::System.Data.DataColumn("City", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCity); + this.columnRegion = new global::System.Data.DataColumn("Region", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnRegion); + this.columnPostalCode = new global::System.Data.DataColumn("PostalCode", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPostalCode); + this.columnCountry = new global::System.Data.DataColumn("Country", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCountry); + this.columnPhone = new global::System.Data.DataColumn("Phone", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPhone); + this.columnFax = new global::System.Data.DataColumn("Fax", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnFax); + this.columnHomePage = new global::System.Data.DataColumn("HomePage", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnHomePage); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnSupplierID}, true)); + this.columnSupplierID.AutoIncrement = true; + this.columnSupplierID.AutoIncrementSeed = -1; + this.columnSupplierID.AutoIncrementStep = -1; + this.columnSupplierID.AllowDBNull = false; + this.columnSupplierID.Unique = true; + this.columnCompanyName.MaxLength = 40; + this.columnContactName.MaxLength = 30; + this.columnContactTitle.MaxLength = 30; + this.columnAddress.MaxLength = 60; + this.columnCity.MaxLength = 15; + this.columnRegion.MaxLength = 15; + this.columnPostalCode.MaxLength = 10; + this.columnCountry.MaxLength = 15; + this.columnPhone.MaxLength = 24; + this.columnFax.MaxLength = 24; + this.columnHomePage.MaxLength = 536870910; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow NewSuppliersRow() { + return ((SuppliersRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new SuppliersRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(SuppliersRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.SuppliersRowChanged != null)) { + this.SuppliersRowChanged(this, new SuppliersRowChangeEvent(((SuppliersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.SuppliersRowChanging != null)) { + this.SuppliersRowChanging(this, new SuppliersRowChangeEvent(((SuppliersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.SuppliersRowDeleted != null)) { + this.SuppliersRowDeleted(this, new SuppliersRowChangeEvent(((SuppliersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.SuppliersRowDeleting != null)) { + this.SuppliersRowDeleting(this, new SuppliersRowChangeEvent(((SuppliersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveSuppliersRow(SuppliersRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + NorthwindDataSet ds = new NorthwindDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "SuppliersDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class CategoriesRow : global::System.Data.DataRow { + + private CategoriesDataTable tableCategories; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal CategoriesRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableCategories = ((CategoriesDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int CategoryID { + get { + return ((int)(this[this.tableCategories.CategoryIDColumn])); + } + set { + this[this.tableCategories.CategoryIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CategoryName { + get { + try { + return ((string)(this[this.tableCategories.CategoryNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CategoryName\' in table \'Categories\' is DBNull.", e); + } + } + set { + this[this.tableCategories.CategoryNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Description { + get { + try { + return ((string)(this[this.tableCategories.DescriptionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Description\' in table \'Categories\' is DBNull.", e); + } + } + set { + this[this.tableCategories.DescriptionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public byte[] Picture { + get { + try { + return ((byte[])(this[this.tableCategories.PictureColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Picture\' in table \'Categories\' is DBNull.", e); + } + } + set { + this[this.tableCategories.PictureColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCategoryNameNull() { + return this.IsNull(this.tableCategories.CategoryNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCategoryNameNull() { + this[this.tableCategories.CategoryNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsDescriptionNull() { + return this.IsNull(this.tableCategories.DescriptionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetDescriptionNull() { + this[this.tableCategories.DescriptionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPictureNull() { + return this.IsNull(this.tableCategories.PictureColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPictureNull() { + this[this.tableCategories.PictureColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow[] GetProductsRows() { + if ((this.Table.ChildRelations["CategoriesProducts"] == null)) { + return new ProductsRow[0]; + } + else { + return ((ProductsRow[])(base.GetChildRows(this.Table.ChildRelations["CategoriesProducts"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class CustomersRow : global::System.Data.DataRow { + + private CustomersDataTable tableCustomers; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal CustomersRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableCustomers = ((CustomersDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CustomerID { + get { + return ((string)(this[this.tableCustomers.CustomerIDColumn])); + } + set { + this[this.tableCustomers.CustomerIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CompanyName { + get { + try { + return ((string)(this[this.tableCustomers.CompanyNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CompanyName\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.CompanyNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ContactName { + get { + try { + return ((string)(this[this.tableCustomers.ContactNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ContactName\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.ContactNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ContactTitle { + get { + try { + return ((string)(this[this.tableCustomers.ContactTitleColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ContactTitle\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.ContactTitleColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Address { + get { + try { + return ((string)(this[this.tableCustomers.AddressColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Address\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.AddressColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string City { + get { + try { + return ((string)(this[this.tableCustomers.CityColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'City\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.CityColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Region { + get { + try { + return ((string)(this[this.tableCustomers.RegionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Region\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.RegionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string PostalCode { + get { + try { + return ((string)(this[this.tableCustomers.PostalCodeColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'PostalCode\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.PostalCodeColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Country { + get { + try { + return ((string)(this[this.tableCustomers.CountryColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Country\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.CountryColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Phone { + get { + try { + return ((string)(this[this.tableCustomers.PhoneColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Phone\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.PhoneColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Fax { + get { + try { + return ((string)(this[this.tableCustomers.FaxColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Fax\' in table \'Customers\' is DBNull.", e); + } + } + set { + this[this.tableCustomers.FaxColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCompanyNameNull() { + return this.IsNull(this.tableCustomers.CompanyNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCompanyNameNull() { + this[this.tableCustomers.CompanyNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsContactNameNull() { + return this.IsNull(this.tableCustomers.ContactNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetContactNameNull() { + this[this.tableCustomers.ContactNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsContactTitleNull() { + return this.IsNull(this.tableCustomers.ContactTitleColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetContactTitleNull() { + this[this.tableCustomers.ContactTitleColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsAddressNull() { + return this.IsNull(this.tableCustomers.AddressColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetAddressNull() { + this[this.tableCustomers.AddressColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCityNull() { + return this.IsNull(this.tableCustomers.CityColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCityNull() { + this[this.tableCustomers.CityColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsRegionNull() { + return this.IsNull(this.tableCustomers.RegionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetRegionNull() { + this[this.tableCustomers.RegionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPostalCodeNull() { + return this.IsNull(this.tableCustomers.PostalCodeColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPostalCodeNull() { + this[this.tableCustomers.PostalCodeColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCountryNull() { + return this.IsNull(this.tableCustomers.CountryColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCountryNull() { + this[this.tableCustomers.CountryColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPhoneNull() { + return this.IsNull(this.tableCustomers.PhoneColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPhoneNull() { + this[this.tableCustomers.PhoneColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsFaxNull() { + return this.IsNull(this.tableCustomers.FaxColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetFaxNull() { + this[this.tableCustomers.FaxColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow[] GetOrdersRows() { + if ((this.Table.ChildRelations["CustomersOrders"] == null)) { + return new OrdersRow[0]; + } + else { + return ((OrdersRow[])(base.GetChildRows(this.Table.ChildRelations["CustomersOrders"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class EmployeesRow : global::System.Data.DataRow { + + private EmployeesDataTable tableEmployees; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal EmployeesRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableEmployees = ((EmployeesDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int EmployeeID { + get { + return ((int)(this[this.tableEmployees.EmployeeIDColumn])); + } + set { + this[this.tableEmployees.EmployeeIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string LastName { + get { + try { + return ((string)(this[this.tableEmployees.LastNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'LastName\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.LastNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string FirstName { + get { + try { + return ((string)(this[this.tableEmployees.FirstNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'FirstName\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.FirstNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Title { + get { + try { + return ((string)(this[this.tableEmployees.TitleColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Title\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.TitleColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string TitleOfCourtesy { + get { + try { + return ((string)(this[this.tableEmployees.TitleOfCourtesyColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'TitleOfCourtesy\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.TitleOfCourtesyColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime BirthDate { + get { + try { + return ((global::System.DateTime)(this[this.tableEmployees.BirthDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'BirthDate\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.BirthDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime HireDate { + get { + try { + return ((global::System.DateTime)(this[this.tableEmployees.HireDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'HireDate\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.HireDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Address { + get { + try { + return ((string)(this[this.tableEmployees.AddressColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Address\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.AddressColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string City { + get { + try { + return ((string)(this[this.tableEmployees.CityColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'City\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.CityColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Region { + get { + try { + return ((string)(this[this.tableEmployees.RegionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Region\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.RegionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string PostalCode { + get { + try { + return ((string)(this[this.tableEmployees.PostalCodeColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'PostalCode\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.PostalCodeColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Country { + get { + try { + return ((string)(this[this.tableEmployees.CountryColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Country\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.CountryColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string HomePhone { + get { + try { + return ((string)(this[this.tableEmployees.HomePhoneColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'HomePhone\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.HomePhoneColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Extension { + get { + try { + return ((string)(this[this.tableEmployees.ExtensionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Extension\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.ExtensionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public byte[] Photo { + get { + try { + return ((byte[])(this[this.tableEmployees.PhotoColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Photo\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.PhotoColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Notes { + get { + try { + return ((string)(this[this.tableEmployees.NotesColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Notes\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.NotesColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ReportsTo { + get { + try { + return ((int)(this[this.tableEmployees.ReportsToColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ReportsTo\' in table \'Employees\' is DBNull.", e); + } + } + set { + this[this.tableEmployees.ReportsToColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsLastNameNull() { + return this.IsNull(this.tableEmployees.LastNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetLastNameNull() { + this[this.tableEmployees.LastNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsFirstNameNull() { + return this.IsNull(this.tableEmployees.FirstNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetFirstNameNull() { + this[this.tableEmployees.FirstNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsTitleNull() { + return this.IsNull(this.tableEmployees.TitleColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetTitleNull() { + this[this.tableEmployees.TitleColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsTitleOfCourtesyNull() { + return this.IsNull(this.tableEmployees.TitleOfCourtesyColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetTitleOfCourtesyNull() { + this[this.tableEmployees.TitleOfCourtesyColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsBirthDateNull() { + return this.IsNull(this.tableEmployees.BirthDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetBirthDateNull() { + this[this.tableEmployees.BirthDateColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsHireDateNull() { + return this.IsNull(this.tableEmployees.HireDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetHireDateNull() { + this[this.tableEmployees.HireDateColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsAddressNull() { + return this.IsNull(this.tableEmployees.AddressColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetAddressNull() { + this[this.tableEmployees.AddressColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCityNull() { + return this.IsNull(this.tableEmployees.CityColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCityNull() { + this[this.tableEmployees.CityColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsRegionNull() { + return this.IsNull(this.tableEmployees.RegionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetRegionNull() { + this[this.tableEmployees.RegionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPostalCodeNull() { + return this.IsNull(this.tableEmployees.PostalCodeColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPostalCodeNull() { + this[this.tableEmployees.PostalCodeColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCountryNull() { + return this.IsNull(this.tableEmployees.CountryColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCountryNull() { + this[this.tableEmployees.CountryColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsHomePhoneNull() { + return this.IsNull(this.tableEmployees.HomePhoneColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetHomePhoneNull() { + this[this.tableEmployees.HomePhoneColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsExtensionNull() { + return this.IsNull(this.tableEmployees.ExtensionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetExtensionNull() { + this[this.tableEmployees.ExtensionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPhotoNull() { + return this.IsNull(this.tableEmployees.PhotoColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPhotoNull() { + this[this.tableEmployees.PhotoColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsNotesNull() { + return this.IsNull(this.tableEmployees.NotesColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetNotesNull() { + this[this.tableEmployees.NotesColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsReportsToNull() { + return this.IsNull(this.tableEmployees.ReportsToColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetReportsToNull() { + this[this.tableEmployees.ReportsToColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow[] GetOrdersRows() { + if ((this.Table.ChildRelations["EmployeesOrders"] == null)) { + return new OrdersRow[0]; + } + else { + return ((OrdersRow[])(base.GetChildRows(this.Table.ChildRelations["EmployeesOrders"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class Order_DetailsRow : global::System.Data.DataRow { + + private Order_DetailsDataTable tableOrder_Details; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal Order_DetailsRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableOrder_Details = ((Order_DetailsDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int OrderID { + get { + return ((int)(this[this.tableOrder_Details.OrderIDColumn])); + } + set { + this[this.tableOrder_Details.OrderIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ProductID { + get { + return ((int)(this[this.tableOrder_Details.ProductIDColumn])); + } + set { + this[this.tableOrder_Details.ProductIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public decimal UnitPrice { + get { + try { + return ((decimal)(this[this.tableOrder_Details.UnitPriceColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'UnitPrice\' in table \'Order Details\' is DBNull.", e); + } + } + set { + this[this.tableOrder_Details.UnitPriceColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public short Quantity { + get { + try { + return ((short)(this[this.tableOrder_Details.QuantityColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Quantity\' in table \'Order Details\' is DBNull.", e); + } + } + set { + this[this.tableOrder_Details.QuantityColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public float Discount { + get { + try { + return ((float)(this[this.tableOrder_Details.DiscountColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Discount\' in table \'Order Details\' is DBNull.", e); + } + } + set { + this[this.tableOrder_Details.DiscountColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow OrdersRow { + get { + return ((OrdersRow)(this.GetParentRow(this.Table.ParentRelations["OrdersOrder Details"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["OrdersOrder Details"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow ProductsRow { + get { + return ((ProductsRow)(this.GetParentRow(this.Table.ParentRelations["ProductsOrder Details"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["ProductsOrder Details"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsUnitPriceNull() { + return this.IsNull(this.tableOrder_Details.UnitPriceColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetUnitPriceNull() { + this[this.tableOrder_Details.UnitPriceColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsQuantityNull() { + return this.IsNull(this.tableOrder_Details.QuantityColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetQuantityNull() { + this[this.tableOrder_Details.QuantityColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsDiscountNull() { + return this.IsNull(this.tableOrder_Details.DiscountColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetDiscountNull() { + this[this.tableOrder_Details.DiscountColumn] = global::System.Convert.DBNull; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class OrdersRow : global::System.Data.DataRow { + + private OrdersDataTable tableOrders; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal OrdersRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableOrders = ((OrdersDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int OrderID { + get { + return ((int)(this[this.tableOrders.OrderIDColumn])); + } + set { + this[this.tableOrders.OrderIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CustomerID { + get { + try { + return ((string)(this[this.tableOrders.CustomerIDColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CustomerID\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.CustomerIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int EmployeeID { + get { + try { + return ((int)(this[this.tableOrders.EmployeeIDColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'EmployeeID\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.EmployeeIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime OrderDate { + get { + try { + return ((global::System.DateTime)(this[this.tableOrders.OrderDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'OrderDate\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.OrderDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime RequiredDate { + get { + try { + return ((global::System.DateTime)(this[this.tableOrders.RequiredDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'RequiredDate\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.RequiredDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime ShippedDate { + get { + try { + return ((global::System.DateTime)(this[this.tableOrders.ShippedDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShippedDate\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShippedDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ShipVia { + get { + try { + return ((int)(this[this.tableOrders.ShipViaColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipVia\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipViaColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public decimal Freight { + get { + try { + return ((decimal)(this[this.tableOrders.FreightColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Freight\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.FreightColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipName { + get { + try { + return ((string)(this[this.tableOrders.ShipNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipName\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipAddress { + get { + try { + return ((string)(this[this.tableOrders.ShipAddressColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipAddress\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipAddressColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipCity { + get { + try { + return ((string)(this[this.tableOrders.ShipCityColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipCity\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipCityColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipRegion { + get { + try { + return ((string)(this[this.tableOrders.ShipRegionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipRegion\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipRegionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipPostalCode { + get { + try { + return ((string)(this[this.tableOrders.ShipPostalCodeColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipPostalCode\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipPostalCodeColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ShipCountry { + get { + try { + return ((string)(this[this.tableOrders.ShipCountryColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ShipCountry\' in table \'Orders\' is DBNull.", e); + } + } + set { + this[this.tableOrders.ShipCountryColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow CustomersRow { + get { + return ((CustomersRow)(this.GetParentRow(this.Table.ParentRelations["CustomersOrders"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["CustomersOrders"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow EmployeesRow { + get { + return ((EmployeesRow)(this.GetParentRow(this.Table.ParentRelations["EmployeesOrders"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["EmployeesOrders"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow ShippersRow { + get { + return ((ShippersRow)(this.GetParentRow(this.Table.ParentRelations["ShippersOrders"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["ShippersOrders"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCustomerIDNull() { + return this.IsNull(this.tableOrders.CustomerIDColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCustomerIDNull() { + this[this.tableOrders.CustomerIDColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsEmployeeIDNull() { + return this.IsNull(this.tableOrders.EmployeeIDColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetEmployeeIDNull() { + this[this.tableOrders.EmployeeIDColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsOrderDateNull() { + return this.IsNull(this.tableOrders.OrderDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetOrderDateNull() { + this[this.tableOrders.OrderDateColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsRequiredDateNull() { + return this.IsNull(this.tableOrders.RequiredDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetRequiredDateNull() { + this[this.tableOrders.RequiredDateColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShippedDateNull() { + return this.IsNull(this.tableOrders.ShippedDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShippedDateNull() { + this[this.tableOrders.ShippedDateColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipViaNull() { + return this.IsNull(this.tableOrders.ShipViaColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipViaNull() { + this[this.tableOrders.ShipViaColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsFreightNull() { + return this.IsNull(this.tableOrders.FreightColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetFreightNull() { + this[this.tableOrders.FreightColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipNameNull() { + return this.IsNull(this.tableOrders.ShipNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipNameNull() { + this[this.tableOrders.ShipNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipAddressNull() { + return this.IsNull(this.tableOrders.ShipAddressColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipAddressNull() { + this[this.tableOrders.ShipAddressColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipCityNull() { + return this.IsNull(this.tableOrders.ShipCityColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipCityNull() { + this[this.tableOrders.ShipCityColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipRegionNull() { + return this.IsNull(this.tableOrders.ShipRegionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipRegionNull() { + this[this.tableOrders.ShipRegionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipPostalCodeNull() { + return this.IsNull(this.tableOrders.ShipPostalCodeColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipPostalCodeNull() { + this[this.tableOrders.ShipPostalCodeColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsShipCountryNull() { + return this.IsNull(this.tableOrders.ShipCountryColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetShipCountryNull() { + this[this.tableOrders.ShipCountryColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow[] GetOrder_DetailsRows() { + if ((this.Table.ChildRelations["OrdersOrder Details"] == null)) { + return new Order_DetailsRow[0]; + } + else { + return ((Order_DetailsRow[])(base.GetChildRows(this.Table.ChildRelations["OrdersOrder Details"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class ProductsRow : global::System.Data.DataRow { + + private ProductsDataTable tableProducts; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ProductsRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableProducts = ((ProductsDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ProductID { + get { + return ((int)(this[this.tableProducts.ProductIDColumn])); + } + set { + this[this.tableProducts.ProductIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ProductName { + get { + try { + return ((string)(this[this.tableProducts.ProductNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ProductName\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.ProductNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int SupplierID { + get { + try { + return ((int)(this[this.tableProducts.SupplierIDColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'SupplierID\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.SupplierIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int CategoryID { + get { + try { + return ((int)(this[this.tableProducts.CategoryIDColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CategoryID\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.CategoryIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string QuantityPerUnit { + get { + try { + return ((string)(this[this.tableProducts.QuantityPerUnitColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'QuantityPerUnit\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.QuantityPerUnitColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public decimal UnitPrice { + get { + try { + return ((decimal)(this[this.tableProducts.UnitPriceColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'UnitPrice\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.UnitPriceColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public short UnitsInStock { + get { + try { + return ((short)(this[this.tableProducts.UnitsInStockColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'UnitsInStock\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.UnitsInStockColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public short UnitsOnOrder { + get { + try { + return ((short)(this[this.tableProducts.UnitsOnOrderColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'UnitsOnOrder\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.UnitsOnOrderColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public short ReorderLevel { + get { + try { + return ((short)(this[this.tableProducts.ReorderLevelColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ReorderLevel\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.ReorderLevelColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool Discontinued { + get { + try { + return ((bool)(this[this.tableProducts.DiscontinuedColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Discontinued\' in table \'Products\' is DBNull.", e); + } + } + set { + this[this.tableProducts.DiscontinuedColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow CategoriesRow { + get { + return ((CategoriesRow)(this.GetParentRow(this.Table.ParentRelations["CategoriesProducts"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["CategoriesProducts"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow SuppliersRow { + get { + return ((SuppliersRow)(this.GetParentRow(this.Table.ParentRelations["SuppliersProducts"]))); + } + set { + this.SetParentRow(value, this.Table.ParentRelations["SuppliersProducts"]); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsProductNameNull() { + return this.IsNull(this.tableProducts.ProductNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetProductNameNull() { + this[this.tableProducts.ProductNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsSupplierIDNull() { + return this.IsNull(this.tableProducts.SupplierIDColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetSupplierIDNull() { + this[this.tableProducts.SupplierIDColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCategoryIDNull() { + return this.IsNull(this.tableProducts.CategoryIDColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCategoryIDNull() { + this[this.tableProducts.CategoryIDColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsQuantityPerUnitNull() { + return this.IsNull(this.tableProducts.QuantityPerUnitColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetQuantityPerUnitNull() { + this[this.tableProducts.QuantityPerUnitColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsUnitPriceNull() { + return this.IsNull(this.tableProducts.UnitPriceColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetUnitPriceNull() { + this[this.tableProducts.UnitPriceColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsUnitsInStockNull() { + return this.IsNull(this.tableProducts.UnitsInStockColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetUnitsInStockNull() { + this[this.tableProducts.UnitsInStockColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsUnitsOnOrderNull() { + return this.IsNull(this.tableProducts.UnitsOnOrderColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetUnitsOnOrderNull() { + this[this.tableProducts.UnitsOnOrderColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsReorderLevelNull() { + return this.IsNull(this.tableProducts.ReorderLevelColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetReorderLevelNull() { + this[this.tableProducts.ReorderLevelColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsDiscontinuedNull() { + return this.IsNull(this.tableProducts.DiscontinuedColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetDiscontinuedNull() { + this[this.tableProducts.DiscontinuedColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow[] GetOrder_DetailsRows() { + if ((this.Table.ChildRelations["ProductsOrder Details"] == null)) { + return new Order_DetailsRow[0]; + } + else { + return ((Order_DetailsRow[])(base.GetChildRows(this.Table.ChildRelations["ProductsOrder Details"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class ShippersRow : global::System.Data.DataRow { + + private ShippersDataTable tableShippers; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ShippersRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableShippers = ((ShippersDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ShipperID { + get { + return ((int)(this[this.tableShippers.ShipperIDColumn])); + } + set { + this[this.tableShippers.ShipperIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CompanyName { + get { + try { + return ((string)(this[this.tableShippers.CompanyNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CompanyName\' in table \'Shippers\' is DBNull.", e); + } + } + set { + this[this.tableShippers.CompanyNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Phone { + get { + try { + return ((string)(this[this.tableShippers.PhoneColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Phone\' in table \'Shippers\' is DBNull.", e); + } + } + set { + this[this.tableShippers.PhoneColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCompanyNameNull() { + return this.IsNull(this.tableShippers.CompanyNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCompanyNameNull() { + this[this.tableShippers.CompanyNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPhoneNull() { + return this.IsNull(this.tableShippers.PhoneColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPhoneNull() { + this[this.tableShippers.PhoneColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow[] GetOrdersRows() { + if ((this.Table.ChildRelations["ShippersOrders"] == null)) { + return new OrdersRow[0]; + } + else { + return ((OrdersRow[])(base.GetChildRows(this.Table.ChildRelations["ShippersOrders"]))); + } + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class SuppliersRow : global::System.Data.DataRow { + + private SuppliersDataTable tableSuppliers; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal SuppliersRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableSuppliers = ((SuppliersDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int SupplierID { + get { + return ((int)(this[this.tableSuppliers.SupplierIDColumn])); + } + set { + this[this.tableSuppliers.SupplierIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string CompanyName { + get { + try { + return ((string)(this[this.tableSuppliers.CompanyNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'CompanyName\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.CompanyNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ContactName { + get { + try { + return ((string)(this[this.tableSuppliers.ContactNameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ContactName\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.ContactNameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string ContactTitle { + get { + try { + return ((string)(this[this.tableSuppliers.ContactTitleColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'ContactTitle\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.ContactTitleColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Address { + get { + try { + return ((string)(this[this.tableSuppliers.AddressColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Address\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.AddressColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string City { + get { + try { + return ((string)(this[this.tableSuppliers.CityColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'City\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.CityColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Region { + get { + try { + return ((string)(this[this.tableSuppliers.RegionColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Region\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.RegionColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string PostalCode { + get { + try { + return ((string)(this[this.tableSuppliers.PostalCodeColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'PostalCode\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.PostalCodeColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Country { + get { + try { + return ((string)(this[this.tableSuppliers.CountryColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Country\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.CountryColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Phone { + get { + try { + return ((string)(this[this.tableSuppliers.PhoneColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Phone\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.PhoneColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Fax { + get { + try { + return ((string)(this[this.tableSuppliers.FaxColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Fax\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.FaxColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string HomePage { + get { + try { + return ((string)(this[this.tableSuppliers.HomePageColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'HomePage\' in table \'Suppliers\' is DBNull.", e); + } + } + set { + this[this.tableSuppliers.HomePageColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCompanyNameNull() { + return this.IsNull(this.tableSuppliers.CompanyNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCompanyNameNull() { + this[this.tableSuppliers.CompanyNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsContactNameNull() { + return this.IsNull(this.tableSuppliers.ContactNameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetContactNameNull() { + this[this.tableSuppliers.ContactNameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsContactTitleNull() { + return this.IsNull(this.tableSuppliers.ContactTitleColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetContactTitleNull() { + this[this.tableSuppliers.ContactTitleColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsAddressNull() { + return this.IsNull(this.tableSuppliers.AddressColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetAddressNull() { + this[this.tableSuppliers.AddressColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCityNull() { + return this.IsNull(this.tableSuppliers.CityColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCityNull() { + this[this.tableSuppliers.CityColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsRegionNull() { + return this.IsNull(this.tableSuppliers.RegionColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetRegionNull() { + this[this.tableSuppliers.RegionColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPostalCodeNull() { + return this.IsNull(this.tableSuppliers.PostalCodeColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPostalCodeNull() { + this[this.tableSuppliers.PostalCodeColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCountryNull() { + return this.IsNull(this.tableSuppliers.CountryColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCountryNull() { + this[this.tableSuppliers.CountryColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsPhoneNull() { + return this.IsNull(this.tableSuppliers.PhoneColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetPhoneNull() { + this[this.tableSuppliers.PhoneColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsFaxNull() { + return this.IsNull(this.tableSuppliers.FaxColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetFaxNull() { + this[this.tableSuppliers.FaxColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsHomePageNull() { + return this.IsNull(this.tableSuppliers.HomePageColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetHomePageNull() { + this[this.tableSuppliers.HomePageColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow[] GetProductsRows() { + if ((this.Table.ChildRelations["SuppliersProducts"] == null)) { + return new ProductsRow[0]; + } + else { + return ((ProductsRow[])(base.GetChildRows(this.Table.ChildRelations["SuppliersProducts"]))); + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class CategoriesRowChangeEvent : global::System.EventArgs { + + private CategoriesRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRowChangeEvent(CategoriesRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class CustomersRowChangeEvent : global::System.EventArgs { + + private CustomersRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRowChangeEvent(CustomersRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class EmployeesRowChangeEvent : global::System.EventArgs { + + private EmployeesRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRowChangeEvent(EmployeesRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class Order_DetailsRowChangeEvent : global::System.EventArgs { + + private Order_DetailsRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRowChangeEvent(Order_DetailsRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class OrdersRowChangeEvent : global::System.EventArgs { + + private OrdersRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRowChangeEvent(OrdersRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class ProductsRowChangeEvent : global::System.EventArgs { + + private ProductsRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRowChangeEvent(ProductsRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class ShippersRowChangeEvent : global::System.EventArgs { + + private ShippersRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRowChangeEvent(ShippersRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class SuppliersRowChangeEvent : global::System.EventArgs { + + private SuppliersRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRowChangeEvent(SuppliersRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + } +} +namespace Grouping_Data_OLE_DB.Data.NorthwindDataSetTableAdapters { + + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class CategoriesTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CategoriesTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Categories"; + tableMapping.ColumnMappings.Add("CategoryID", "CategoryID"); + tableMapping.ColumnMappings.Add("CategoryName", "CategoryName"); + tableMapping.ColumnMappings.Add("Description", "Description"); + tableMapping.ColumnMappings.Add("Picture", "Picture"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = "DELETE FROM `Categories` WHERE ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName`" + + " IS NULL) OR (`CategoryName` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CategoryName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Categories` (`CategoryName`, `Description`, `Picture`) VALUES (?, ?," + + " ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CategoryName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Description", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Description", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Picture", global::System.Data.OleDb.OleDbType.LongVarBinary, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Picture", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = "UPDATE `Categories` SET `CategoryName` = ?, `Description` = ?, `Picture` = ? WHER" + + "E ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName` IS NULL) OR (`CategoryName`" + + " = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CategoryName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Description", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Description", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Picture", global::System.Data.OleDb.OleDbType.LongVarBinary, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Picture", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CategoryName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryName", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT CategoryID, CategoryName, Description, Picture FROM Categories"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.CategoriesDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.CategoriesDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.CategoriesDataTable dataTable = new NorthwindDataSet.CategoriesDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.CategoriesDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Categories"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_CategoryID, string Original_CategoryName) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_CategoryID)); + if ((Original_CategoryName == null)) { + throw new global::System.ArgumentNullException("Original_CategoryName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_CategoryName)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string CategoryName, string Description, byte[] Picture) { + if ((CategoryName == null)) { + throw new global::System.ArgumentNullException("CategoryName"); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CategoryName)); + } + if ((Description == null)) { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Description)); + } + if ((Picture == null)) { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = ((byte[])(Picture)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update(string CategoryName, string Description, byte[] Picture, int Original_CategoryID, string Original_CategoryName) { + if ((CategoryName == null)) { + throw new global::System.ArgumentNullException("CategoryName"); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CategoryName)); + } + if ((Description == null)) { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Description)); + } + if ((Picture == null)) { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = ((byte[])(Picture)); + } + this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(Original_CategoryID)); + if ((Original_CategoryName == null)) { + throw new global::System.ArgumentNullException("Original_CategoryName"); + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(Original_CategoryName)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class CustomersTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public CustomersTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Customers"; + tableMapping.ColumnMappings.Add("CustomerID", "CustomerID"); + tableMapping.ColumnMappings.Add("CompanyName", "CompanyName"); + tableMapping.ColumnMappings.Add("ContactName", "ContactName"); + tableMapping.ColumnMappings.Add("ContactTitle", "ContactTitle"); + tableMapping.ColumnMappings.Add("Address", "Address"); + tableMapping.ColumnMappings.Add("City", "City"); + tableMapping.ColumnMappings.Add("Region", "Region"); + tableMapping.ColumnMappings.Add("PostalCode", "PostalCode"); + tableMapping.ColumnMappings.Add("Country", "Country"); + tableMapping.ColumnMappings.Add("Phone", "Phone"); + tableMapping.ColumnMappings.Add("Fax", "Fax"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM `Customers` WHERE ((`CustomerID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactTitle", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Fax", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Customers` (`CustomerID`, `CompanyName`, `ContactName`, `ContactTitl" + + "e`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`) VALUES" + + " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Customers` SET `CustomerID` = ?, `CompanyName` = ?, `ContactName` = ?, `ContactTitle` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `Phone` = ?, `Fax` = ? WHERE ((`CustomerID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactTitle", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Fax", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region," + + " PostalCode, Country, Phone, Fax FROM Customers"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.CustomersDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.CustomersDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.CustomersDataTable dataTable = new NorthwindDataSet.CustomersDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.CustomersDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Customers"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(string Original_CustomerID, string Original_CompanyName, string Original_ContactName, string Original_ContactTitle, string Original_Address, string Original_City, string Original_Region, string Original_PostalCode, string Original_Country, string Original_Phone, string Original_Fax) { + if ((Original_CustomerID == null)) { + this.Adapter.DeleteCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[0].Value = ((string)(Original_CustomerID)); + } + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_CompanyName)); + } + if ((Original_ContactName == null)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_ContactName)); + } + if ((Original_ContactTitle == null)) { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((string)(Original_ContactTitle)); + } + if ((Original_Address == null)) { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[8].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[10].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[12].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[16].Value = ((string)(Original_Country)); + } + if ((Original_Phone == null)) { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[18].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[18].Value = ((string)(Original_Phone)); + } + if ((Original_Fax == null)) { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[20].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[20].Value = ((string)(Original_Fax)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string CustomerID, string CompanyName, string ContactName, string ContactTitle, string Address, string City, string Region, string PostalCode, string Country, string Phone, string Fax) { + if ((CustomerID == null)) { + this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CustomerID)); + } + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(CompanyName)); + } + if ((ContactName == null)) { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = ((string)(ContactName)); + } + if ((ContactTitle == null)) { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = ((string)(ContactTitle)); + } + if ((Address == null)) { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[6].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[7].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.InsertCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[8].Value = ((string)(Country)); + } + if ((Phone == null)) { + this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[9].Value = ((string)(Phone)); + } + if ((Fax == null)) { + this.Adapter.InsertCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[10].Value = ((string)(Fax)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string CustomerID, + string CompanyName, + string ContactName, + string ContactTitle, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string Phone, + string Fax, + string Original_CustomerID, + string Original_CompanyName, + string Original_ContactName, + string Original_ContactTitle, + string Original_Address, + string Original_City, + string Original_Region, + string Original_PostalCode, + string Original_Country, + string Original_Phone, + string Original_Fax) { + if ((CustomerID == null)) { + this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CustomerID)); + } + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(CompanyName)); + } + if ((ContactName == null)) { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(ContactName)); + } + if ((ContactTitle == null)) { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(ContactTitle)); + } + if ((Address == null)) { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[7].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Country)); + } + if ((Phone == null)) { + this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(Phone)); + } + if ((Fax == null)) { + this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(Fax)); + } + if ((Original_CustomerID == null)) { + this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[11].Value = ((string)(Original_CustomerID)); + } + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[13].Value = ((string)(Original_CompanyName)); + } + if ((Original_ContactName == null)) { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_ContactName)); + } + if ((Original_ContactTitle == null)) { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[17].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[17].Value = ((string)(Original_ContactTitle)); + } + if ((Original_Address == null)) { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[19].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[19].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[21].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[21].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[23].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[23].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[25].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[25].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[27].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[27].Value = ((string)(Original_Country)); + } + if ((Original_Phone == null)) { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[29].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[29].Value = ((string)(Original_Phone)); + } + if ((Original_Fax == null)) { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[31].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[31].Value = ((string)(Original_Fax)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string CompanyName, + string ContactName, + string ContactTitle, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string Phone, + string Fax, + string Original_CustomerID, + string Original_CompanyName, + string Original_ContactName, + string Original_ContactTitle, + string Original_Address, + string Original_City, + string Original_Region, + string Original_PostalCode, + string Original_Country, + string Original_Phone, + string Original_Fax) { + return this.Update(Original_CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, Original_CustomerID, Original_CompanyName, Original_ContactName, Original_ContactTitle, Original_Address, Original_City, Original_Region, Original_PostalCode, Original_Country, Original_Phone, Original_Fax); + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class EmployeesTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public EmployeesTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Employees"; + tableMapping.ColumnMappings.Add("EmployeeID", "EmployeeID"); + tableMapping.ColumnMappings.Add("LastName", "LastName"); + tableMapping.ColumnMappings.Add("FirstName", "FirstName"); + tableMapping.ColumnMappings.Add("Title", "Title"); + tableMapping.ColumnMappings.Add("TitleOfCourtesy", "TitleOfCourtesy"); + tableMapping.ColumnMappings.Add("BirthDate", "BirthDate"); + tableMapping.ColumnMappings.Add("HireDate", "HireDate"); + tableMapping.ColumnMappings.Add("Address", "Address"); + tableMapping.ColumnMappings.Add("City", "City"); + tableMapping.ColumnMappings.Add("Region", "Region"); + tableMapping.ColumnMappings.Add("PostalCode", "PostalCode"); + tableMapping.ColumnMappings.Add("Country", "Country"); + tableMapping.ColumnMappings.Add("HomePhone", "HomePhone"); + tableMapping.ColumnMappings.Add("Extension", "Extension"); + tableMapping.ColumnMappings.Add("Photo", "Photo"); + tableMapping.ColumnMappings.Add("Notes", "Notes"); + tableMapping.ColumnMappings.Add("ReportsTo", "ReportsTo"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM `Employees` WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `LastName` IS NULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`FirstName` = ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 AND `TitleOfCourtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `BirthDate` IS NULL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`HireDate` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NULL) OR (`HomePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` = ?)) AND ((? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_LastName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_LastName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_FirstName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_FirstName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Title", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Title", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_TitleOfCourtesy", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_TitleOfCourtesy", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_BirthDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_BirthDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_HireDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_HireDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_HomePhone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_HomePhone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Extension", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Extension", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = @"INSERT INTO `Employees` (`LastName`, `FirstName`, `Title`, `TitleOfCourtesy`, `BirthDate`, `HireDate`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `HomePhone`, `Extension`, `Photo`, `Notes`, `ReportsTo`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("LastName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("FirstName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Title", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("TitleOfCourtesy", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("BirthDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HireDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HomePhone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Extension", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Photo", global::System.Data.OleDb.OleDbType.LongVarBinary, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Photo", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Notes", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Notes", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Employees` SET `LastName` = ?, `FirstName` = ?, `Title` = ?, `TitleOfCourtesy` = ?, `BirthDate` = ?, `HireDate` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `HomePhone` = ?, `Extension` = ?, `Photo` = ?, `Notes` = ?, `ReportsTo` = ? WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `LastName` IS NULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`FirstName` = ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 AND `TitleOfCourtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `BirthDate` IS NULL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`HireDate` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NULL) OR (`HomePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` = ?)) AND ((? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("LastName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("FirstName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Title", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("TitleOfCourtesy", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("BirthDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HireDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HomePhone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Extension", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Photo", global::System.Data.OleDb.OleDbType.LongVarBinary, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Photo", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Notes", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Notes", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_LastName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_LastName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "LastName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_FirstName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_FirstName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "FirstName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Title", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Title", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Title", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_TitleOfCourtesy", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_TitleOfCourtesy", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "TitleOfCourtesy", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_BirthDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_BirthDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "BirthDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_HireDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_HireDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HireDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_HomePhone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_HomePhone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePhone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Extension", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Extension", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Extension", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ReportsTo", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReportsTo", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDa" + + "te, Address, City, Region, PostalCode, Country, HomePhone, Extension, Photo, Not" + + "es, ReportsTo FROM Employees"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.EmployeesDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.EmployeesDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.EmployeesDataTable dataTable = new NorthwindDataSet.EmployeesDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.EmployeesDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Employees"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_EmployeeID, string Original_LastName, string Original_FirstName, string Original_Title, string Original_TitleOfCourtesy, global::System.Nullable Original_BirthDate, global::System.Nullable Original_HireDate, string Original_Address, string Original_City, string Original_Region, string Original_PostalCode, string Original_Country, string Original_HomePhone, string Original_Extension, global::System.Nullable Original_ReportsTo) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_EmployeeID)); + if ((Original_LastName == null)) { + throw new global::System.ArgumentNullException("Original_LastName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_LastName)); + } + if ((Original_FirstName == null)) { + throw new global::System.ArgumentNullException("Original_FirstName"); + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_FirstName)); + } + if ((Original_Title == null)) { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((string)(Original_Title)); + } + if ((Original_TitleOfCourtesy == null)) { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[8].Value = ((string)(Original_TitleOfCourtesy)); + } + if ((Original_BirthDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[10].Value = ((System.DateTime)(Original_BirthDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value; + } + if ((Original_HireDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[12].Value = ((System.DateTime)(Original_HireDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value; + } + if ((Original_Address == null)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[16].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[18].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[18].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[20].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[20].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.DeleteCommand.Parameters[21].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[22].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[21].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[22].Value = ((string)(Original_Country)); + } + if ((Original_HomePhone == null)) { + this.Adapter.DeleteCommand.Parameters[23].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[24].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[23].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[24].Value = ((string)(Original_HomePhone)); + } + if ((Original_Extension == null)) { + this.Adapter.DeleteCommand.Parameters[25].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[26].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[25].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[26].Value = ((string)(Original_Extension)); + } + if ((Original_ReportsTo.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[27].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[28].Value = ((int)(Original_ReportsTo.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[27].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[28].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert( + string LastName, + string FirstName, + string Title, + string TitleOfCourtesy, + global::System.Nullable BirthDate, + global::System.Nullable HireDate, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string HomePhone, + string Extension, + byte[] Photo, + string Notes, + global::System.Nullable ReportsTo) { + if ((LastName == null)) { + throw new global::System.ArgumentNullException("LastName"); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(LastName)); + } + if ((FirstName == null)) { + throw new global::System.ArgumentNullException("FirstName"); + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(FirstName)); + } + if ((Title == null)) { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = ((string)(Title)); + } + if ((TitleOfCourtesy == null)) { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = ((string)(TitleOfCourtesy)); + } + if ((BirthDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[4].Value = ((System.DateTime)(BirthDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((HireDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[5].Value = ((System.DateTime)(HireDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((Address == null)) { + this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[6].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[7].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.InsertCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[8].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[9].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.InsertCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[10].Value = ((string)(Country)); + } + if ((HomePhone == null)) { + this.Adapter.InsertCommand.Parameters[11].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[11].Value = ((string)(HomePhone)); + } + if ((Extension == null)) { + this.Adapter.InsertCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[12].Value = ((string)(Extension)); + } + if ((Photo == null)) { + this.Adapter.InsertCommand.Parameters[13].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[13].Value = ((byte[])(Photo)); + } + if ((Notes == null)) { + this.Adapter.InsertCommand.Parameters[14].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[14].Value = ((string)(Notes)); + } + if ((ReportsTo.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[15].Value = ((int)(ReportsTo.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[15].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string LastName, + string FirstName, + string Title, + string TitleOfCourtesy, + global::System.Nullable BirthDate, + global::System.Nullable HireDate, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string HomePhone, + string Extension, + byte[] Photo, + string Notes, + global::System.Nullable ReportsTo, + int Original_EmployeeID, + string Original_LastName, + string Original_FirstName, + string Original_Title, + string Original_TitleOfCourtesy, + global::System.Nullable Original_BirthDate, + global::System.Nullable Original_HireDate, + string Original_Address, + string Original_City, + string Original_Region, + string Original_PostalCode, + string Original_Country, + string Original_HomePhone, + string Original_Extension, + global::System.Nullable Original_ReportsTo) { + if ((LastName == null)) { + throw new global::System.ArgumentNullException("LastName"); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(LastName)); + } + if ((FirstName == null)) { + throw new global::System.ArgumentNullException("FirstName"); + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(FirstName)); + } + if ((Title == null)) { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Title)); + } + if ((TitleOfCourtesy == null)) { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(TitleOfCourtesy)); + } + if ((BirthDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[4].Value = ((System.DateTime)(BirthDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((HireDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((System.DateTime)(HireDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((Address == null)) { + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[7].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(Country)); + } + if ((HomePhone == null)) { + this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[11].Value = ((string)(HomePhone)); + } + if ((Extension == null)) { + this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = ((string)(Extension)); + } + if ((Photo == null)) { + this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[13].Value = ((byte[])(Photo)); + } + if ((Notes == null)) { + this.Adapter.UpdateCommand.Parameters[14].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((string)(Notes)); + } + if ((ReportsTo.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[15].Value = ((int)(ReportsTo.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[16].Value = ((int)(Original_EmployeeID)); + if ((Original_LastName == null)) { + throw new global::System.ArgumentNullException("Original_LastName"); + } + else { + this.Adapter.UpdateCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[18].Value = ((string)(Original_LastName)); + } + if ((Original_FirstName == null)) { + throw new global::System.ArgumentNullException("Original_FirstName"); + } + else { + this.Adapter.UpdateCommand.Parameters[19].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[20].Value = ((string)(Original_FirstName)); + } + if ((Original_Title == null)) { + this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[22].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[22].Value = ((string)(Original_Title)); + } + if ((Original_TitleOfCourtesy == null)) { + this.Adapter.UpdateCommand.Parameters[23].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[24].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[23].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[24].Value = ((string)(Original_TitleOfCourtesy)); + } + if ((Original_BirthDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[25].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[26].Value = ((System.DateTime)(Original_BirthDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[25].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[26].Value = global::System.DBNull.Value; + } + if ((Original_HireDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[27].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[28].Value = ((System.DateTime)(Original_HireDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[27].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[28].Value = global::System.DBNull.Value; + } + if ((Original_Address == null)) { + this.Adapter.UpdateCommand.Parameters[29].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[30].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[29].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[30].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.UpdateCommand.Parameters[31].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[32].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[31].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[32].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.UpdateCommand.Parameters[33].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[34].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[33].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[34].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[35].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[36].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[35].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[36].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.UpdateCommand.Parameters[37].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[38].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[37].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[38].Value = ((string)(Original_Country)); + } + if ((Original_HomePhone == null)) { + this.Adapter.UpdateCommand.Parameters[39].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[40].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[39].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[40].Value = ((string)(Original_HomePhone)); + } + if ((Original_Extension == null)) { + this.Adapter.UpdateCommand.Parameters[41].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[42].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[41].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[42].Value = ((string)(Original_Extension)); + } + if ((Original_ReportsTo.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[43].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[44].Value = ((int)(Original_ReportsTo.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[43].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[44].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class Order_DetailsTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public Order_DetailsTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Order Details"; + tableMapping.ColumnMappings.Add("OrderID", "OrderID"); + tableMapping.ColumnMappings.Add("ProductID", "ProductID"); + tableMapping.ColumnMappings.Add("UnitPrice", "UnitPrice"); + tableMapping.ColumnMappings.Add("Quantity", "Quantity"); + tableMapping.ColumnMappings.Add("Discount", "Discount"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = "DELETE FROM `Order Details` WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? " + + "= 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS" + + " NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` =" + + " ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitPrice", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Quantity", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Quantity", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Discount", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Discount", global::System.Data.OleDb.OleDbType.Single, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Order Details` (`OrderID`, `ProductID`, `UnitPrice`, `Quantity`, `Di" + + "scount`) VALUES (?, ?, ?, ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Quantity", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Discount", global::System.Data.OleDb.OleDbType.Single, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Order Details` SET `OrderID` = ?, `ProductID` = ?, `UnitPrice` = ?, `Quantity` = ?, `Discount` = ? WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Quantity", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Discount", global::System.Data.OleDb.OleDbType.Single, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitPrice", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Quantity", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Quantity", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Quantity", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Discount", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Discount", global::System.Data.OleDb.OleDbType.Single, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discount", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT OrderID, ProductID, UnitPrice, Quantity, Discount FROM [Order Details]"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.Order_DetailsDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.Order_DetailsDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.Order_DetailsDataTable dataTable = new NorthwindDataSet.Order_DetailsDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.Order_DetailsDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Order Details"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(global::System.Nullable Original_OrderID, int Original_ProductID, decimal Original_UnitPrice, short Original_Quantity, float Original_Discount) { + if ((Original_OrderID.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_OrderID.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[0].Value = global::System.DBNull.Value; + } + this.Adapter.DeleteCommand.Parameters[1].Value = ((int)(Original_ProductID)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[3].Value = ((decimal)(Original_UnitPrice)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[5].Value = ((short)(Original_Quantity)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[7].Value = ((float)(Original_Discount)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(global::System.Nullable OrderID, int ProductID, decimal UnitPrice, short Quantity, float Discount) { + if ((OrderID.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[0].Value = ((int)(OrderID.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value; + } + this.Adapter.InsertCommand.Parameters[1].Value = ((int)(ProductID)); + this.Adapter.InsertCommand.Parameters[2].Value = ((decimal)(UnitPrice)); + this.Adapter.InsertCommand.Parameters[3].Value = ((short)(Quantity)); + this.Adapter.InsertCommand.Parameters[4].Value = ((float)(Discount)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update(global::System.Nullable OrderID, int ProductID, decimal UnitPrice, short Quantity, float Discount, global::System.Nullable Original_OrderID, int Original_ProductID, decimal Original_UnitPrice, short Original_Quantity, float Original_Discount) { + if ((OrderID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(OrderID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(ProductID)); + this.Adapter.UpdateCommand.Parameters[2].Value = ((decimal)(UnitPrice)); + this.Adapter.UpdateCommand.Parameters[3].Value = ((short)(Quantity)); + this.Adapter.UpdateCommand.Parameters[4].Value = ((float)(Discount)); + if ((Original_OrderID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(Original_OrderID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(Original_ProductID)); + this.Adapter.UpdateCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[8].Value = ((decimal)(Original_UnitPrice)); + this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[10].Value = ((short)(Original_Quantity)); + this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[12].Value = ((float)(Original_Discount)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update(decimal UnitPrice, short Quantity, float Discount, global::System.Nullable Original_OrderID, int Original_ProductID, decimal Original_UnitPrice, short Original_Quantity, float Original_Discount) { + return this.Update(Original_OrderID, Original_ProductID, UnitPrice, Quantity, Discount, Original_OrderID, Original_ProductID, Original_UnitPrice, Original_Quantity, Original_Discount); + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class OrdersTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public OrdersTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Orders"; + tableMapping.ColumnMappings.Add("OrderID", "OrderID"); + tableMapping.ColumnMappings.Add("CustomerID", "CustomerID"); + tableMapping.ColumnMappings.Add("EmployeeID", "EmployeeID"); + tableMapping.ColumnMappings.Add("OrderDate", "OrderDate"); + tableMapping.ColumnMappings.Add("RequiredDate", "RequiredDate"); + tableMapping.ColumnMappings.Add("ShippedDate", "ShippedDate"); + tableMapping.ColumnMappings.Add("ShipVia", "ShipVia"); + tableMapping.ColumnMappings.Add("Freight", "Freight"); + tableMapping.ColumnMappings.Add("ShipName", "ShipName"); + tableMapping.ColumnMappings.Add("ShipAddress", "ShipAddress"); + tableMapping.ColumnMappings.Add("ShipCity", "ShipCity"); + tableMapping.ColumnMappings.Add("ShipRegion", "ShipRegion"); + tableMapping.ColumnMappings.Add("ShipPostalCode", "ShipPostalCode"); + tableMapping.ColumnMappings.Add("ShipCountry", "ShipCountry"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM `Orders` WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL) OR (`CustomerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` = ?)) AND ((? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND `RequiredDate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` IS NULL) OR (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia` = ?)) AND ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `ShipName` IS NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR (`ShipAddress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) AND ((? = 1 AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `ShipPostalCode` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` IS NULL) OR (`ShipCountry` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CustomerID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_OrderDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_RequiredDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_RequiredDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShippedDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShippedDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Freight", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Freight", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipAddress", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipAddress", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipCity", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipCity", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipRegion", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipRegion", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipPostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipPostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipCountry", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipCountry", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Orders` (`CustomerID`, `EmployeeID`, `OrderDate`, `RequiredDate`, `S" + + "hippedDate`, `ShipVia`, `Freight`, `ShipName`, `ShipAddress`, `ShipCity`, `ShipR" + + "egion`, `ShipPostalCode`, `ShipCountry`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?" + + ", ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("OrderDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("RequiredDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShippedDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Freight", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipAddress", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipCity", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipRegion", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipPostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipCountry", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Orders` SET `CustomerID` = ?, `EmployeeID` = ?, `OrderDate` = ?, `RequiredDate` = ?, `ShippedDate` = ?, `ShipVia` = ?, `Freight` = ?, `ShipName` = ?, `ShipAddress` = ?, `ShipCity` = ?, `ShipRegion` = ?, `ShipPostalCode` = ?, `ShipCountry` = ? WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL) OR (`CustomerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` = ?)) AND ((? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND `RequiredDate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` IS NULL) OR (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia` = ?)) AND ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `ShipName` IS NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR (`ShipAddress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) AND ((? = 1 AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `ShipPostalCode` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` IS NULL) OR (`ShipCountry` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("OrderDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("RequiredDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShippedDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Freight", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipAddress", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipCity", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipRegion", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipPostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ShipCountry", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CustomerID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CustomerID", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CustomerID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_EmployeeID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "EmployeeID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_OrderDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_OrderDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "OrderDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_RequiredDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_RequiredDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "RequiredDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShippedDate", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShippedDate", global::System.Data.OleDb.OleDbType.Date, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShippedDate", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipVia", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipVia", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Freight", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Freight", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Freight", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipAddress", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipAddress", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipAddress", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipCity", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipCity", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCity", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipRegion", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipRegion", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipRegion", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipPostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipPostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipPostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ShipCountry", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipCountry", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipCountry", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, Shi" + + "pVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, Ship" + + "Country FROM Orders"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.OrdersDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.OrdersDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.OrdersDataTable dataTable = new NorthwindDataSet.OrdersDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.OrdersDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Orders"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_OrderID, string Original_CustomerID, global::System.Nullable Original_EmployeeID, global::System.Nullable Original_OrderDate, global::System.Nullable Original_RequiredDate, global::System.Nullable Original_ShippedDate, global::System.Nullable Original_ShipVia, global::System.Nullable Original_Freight, string Original_ShipName, string Original_ShipAddress, string Original_ShipCity, string Original_ShipRegion, string Original_ShipPostalCode, string Original_ShipCountry) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_OrderID)); + if ((Original_CustomerID == null)) { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_CustomerID)); + } + if ((Original_EmployeeID.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((int)(Original_EmployeeID.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((Original_OrderDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((System.DateTime)(Original_OrderDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((Original_RequiredDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[8].Value = ((System.DateTime)(Original_RequiredDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value; + } + if ((Original_ShippedDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[10].Value = ((System.DateTime)(Original_ShippedDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value; + } + if ((Original_ShipVia.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[12].Value = ((int)(Original_ShipVia.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value; + } + if ((Original_Freight.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((decimal)(Original_Freight.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + if ((Original_ShipName == null)) { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[16].Value = ((string)(Original_ShipName)); + } + if ((Original_ShipAddress == null)) { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[18].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[18].Value = ((string)(Original_ShipAddress)); + } + if ((Original_ShipCity == null)) { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[20].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[20].Value = ((string)(Original_ShipCity)); + } + if ((Original_ShipRegion == null)) { + this.Adapter.DeleteCommand.Parameters[21].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[22].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[21].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[22].Value = ((string)(Original_ShipRegion)); + } + if ((Original_ShipPostalCode == null)) { + this.Adapter.DeleteCommand.Parameters[23].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[24].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[23].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[24].Value = ((string)(Original_ShipPostalCode)); + } + if ((Original_ShipCountry == null)) { + this.Adapter.DeleteCommand.Parameters[25].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[26].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[25].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[26].Value = ((string)(Original_ShipCountry)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string CustomerID, global::System.Nullable EmployeeID, global::System.Nullable OrderDate, global::System.Nullable RequiredDate, global::System.Nullable ShippedDate, global::System.Nullable ShipVia, global::System.Nullable Freight, string ShipName, string ShipAddress, string ShipCity, string ShipRegion, string ShipPostalCode, string ShipCountry) { + if ((CustomerID == null)) { + this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CustomerID)); + } + if ((EmployeeID.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[1].Value = ((int)(EmployeeID.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + if ((OrderDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[2].Value = ((System.DateTime)(OrderDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((RequiredDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[3].Value = ((System.DateTime)(RequiredDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + if ((ShippedDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[4].Value = ((System.DateTime)(ShippedDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((ShipVia.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[5].Value = ((int)(ShipVia.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((Freight.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[6].Value = ((decimal)(Freight.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((ShipName == null)) { + this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[7].Value = ((string)(ShipName)); + } + if ((ShipAddress == null)) { + this.Adapter.InsertCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[8].Value = ((string)(ShipAddress)); + } + if ((ShipCity == null)) { + this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[9].Value = ((string)(ShipCity)); + } + if ((ShipRegion == null)) { + this.Adapter.InsertCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[10].Value = ((string)(ShipRegion)); + } + if ((ShipPostalCode == null)) { + this.Adapter.InsertCommand.Parameters[11].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[11].Value = ((string)(ShipPostalCode)); + } + if ((ShipCountry == null)) { + this.Adapter.InsertCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[12].Value = ((string)(ShipCountry)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string CustomerID, + global::System.Nullable EmployeeID, + global::System.Nullable OrderDate, + global::System.Nullable RequiredDate, + global::System.Nullable ShippedDate, + global::System.Nullable ShipVia, + global::System.Nullable Freight, + string ShipName, + string ShipAddress, + string ShipCity, + string ShipRegion, + string ShipPostalCode, + string ShipCountry, + int Original_OrderID, + string Original_CustomerID, + global::System.Nullable Original_EmployeeID, + global::System.Nullable Original_OrderDate, + global::System.Nullable Original_RequiredDate, + global::System.Nullable Original_ShippedDate, + global::System.Nullable Original_ShipVia, + global::System.Nullable Original_Freight, + string Original_ShipName, + string Original_ShipAddress, + string Original_ShipCity, + string Original_ShipRegion, + string Original_ShipPostalCode, + string Original_ShipCountry) { + if ((CustomerID == null)) { + this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CustomerID)); + } + if ((EmployeeID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(EmployeeID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + if ((OrderDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[2].Value = ((System.DateTime)(OrderDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((RequiredDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[3].Value = ((System.DateTime)(RequiredDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + if ((ShippedDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[4].Value = ((System.DateTime)(ShippedDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((ShipVia.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(ShipVia.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((Freight.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[6].Value = ((decimal)(Freight.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((ShipName == null)) { + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[7].Value = ((string)(ShipName)); + } + if ((ShipAddress == null)) { + this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(ShipAddress)); + } + if ((ShipCity == null)) { + this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(ShipCity)); + } + if ((ShipRegion == null)) { + this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(ShipRegion)); + } + if ((ShipPostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[11].Value = ((string)(ShipPostalCode)); + } + if ((ShipCountry == null)) { + this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = ((string)(ShipCountry)); + } + this.Adapter.UpdateCommand.Parameters[13].Value = ((int)(Original_OrderID)); + if ((Original_CustomerID == null)) { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_CustomerID)); + } + if ((Original_EmployeeID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[17].Value = ((int)(Original_EmployeeID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[17].Value = global::System.DBNull.Value; + } + if ((Original_OrderDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[19].Value = ((System.DateTime)(Original_OrderDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[19].Value = global::System.DBNull.Value; + } + if ((Original_RequiredDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[21].Value = ((System.DateTime)(Original_RequiredDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[21].Value = global::System.DBNull.Value; + } + if ((Original_ShippedDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[23].Value = ((System.DateTime)(Original_ShippedDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[23].Value = global::System.DBNull.Value; + } + if ((Original_ShipVia.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[25].Value = ((int)(Original_ShipVia.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[25].Value = global::System.DBNull.Value; + } + if ((Original_Freight.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[27].Value = ((decimal)(Original_Freight.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[27].Value = global::System.DBNull.Value; + } + if ((Original_ShipName == null)) { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[29].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[29].Value = ((string)(Original_ShipName)); + } + if ((Original_ShipAddress == null)) { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[31].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[31].Value = ((string)(Original_ShipAddress)); + } + if ((Original_ShipCity == null)) { + this.Adapter.UpdateCommand.Parameters[32].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[33].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[32].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[33].Value = ((string)(Original_ShipCity)); + } + if ((Original_ShipRegion == null)) { + this.Adapter.UpdateCommand.Parameters[34].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[35].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[34].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[35].Value = ((string)(Original_ShipRegion)); + } + if ((Original_ShipPostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[36].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[37].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[36].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[37].Value = ((string)(Original_ShipPostalCode)); + } + if ((Original_ShipCountry == null)) { + this.Adapter.UpdateCommand.Parameters[38].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[39].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[38].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[39].Value = ((string)(Original_ShipCountry)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class ProductsTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ProductsTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Products"; + tableMapping.ColumnMappings.Add("ProductID", "ProductID"); + tableMapping.ColumnMappings.Add("ProductName", "ProductName"); + tableMapping.ColumnMappings.Add("SupplierID", "SupplierID"); + tableMapping.ColumnMappings.Add("CategoryID", "CategoryID"); + tableMapping.ColumnMappings.Add("QuantityPerUnit", "QuantityPerUnit"); + tableMapping.ColumnMappings.Add("UnitPrice", "UnitPrice"); + tableMapping.ColumnMappings.Add("UnitsInStock", "UnitsInStock"); + tableMapping.ColumnMappings.Add("UnitsOnOrder", "UnitsOnOrder"); + tableMapping.ColumnMappings.Add("ReorderLevel", "ReorderLevel"); + tableMapping.ColumnMappings.Add("Discontinued", "Discontinued"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM `Products` WHERE ((`ProductID` = ?) AND ((? = 1 AND `ProductName` IS NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL) OR (`SupplierID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` = ?)) AND ((? = 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInStock` IS NULL) OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) OR (`UnitsOnOrder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLevel` = ?)) AND ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ProductName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_QuantityPerUnit", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_QuantityPerUnit", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitPrice", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitsInStock", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitsInStock", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitsOnOrder", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitsOnOrder", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ReorderLevel", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ReorderLevel", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Discontinued", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Discontinued", global::System.Data.OleDb.OleDbType.Boolean, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Products` (`ProductName`, `SupplierID`, `CategoryID`, `QuantityPerUn" + + "it`, `UnitPrice`, `UnitsInStock`, `UnitsOnOrder`, `ReorderLevel`, `Discontinued`" + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ProductName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("QuantityPerUnit", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitsInStock", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitsOnOrder", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ReorderLevel", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Discontinued", global::System.Data.OleDb.OleDbType.Boolean, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Products` SET `ProductName` = ?, `SupplierID` = ?, `CategoryID` = ?, `QuantityPerUnit` = ?, `UnitPrice` = ?, `UnitsInStock` = ?, `UnitsOnOrder` = ?, `ReorderLevel` = ?, `Discontinued` = ? WHERE ((`ProductID` = ?) AND ((? = 1 AND `ProductName` IS NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL) OR (`SupplierID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` = ?)) AND ((? = 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInStock` IS NULL) OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) OR (`UnitsOnOrder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLevel` = ?)) AND ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ProductName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("QuantityPerUnit", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitsInStock", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("UnitsOnOrder", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ReorderLevel", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Discontinued", global::System.Data.OleDb.OleDbType.Boolean, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ProductName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ProductName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ProductName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CategoryID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CategoryID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_QuantityPerUnit", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_QuantityPerUnit", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "QuantityPerUnit", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitPrice", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitPrice", global::System.Data.OleDb.OleDbType.Currency, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitPrice", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitsInStock", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitsInStock", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsInStock", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_UnitsOnOrder", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_UnitsOnOrder", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "UnitsOnOrder", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ReorderLevel", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ReorderLevel", global::System.Data.OleDb.OleDbType.SmallInt, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ReorderLevel", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Discontinued", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Discontinued", global::System.Data.OleDb.OleDbType.Boolean, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Discontinued", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice" + + ", UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued FROM Products"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.ProductsDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.ProductsDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.ProductsDataTable dataTable = new NorthwindDataSet.ProductsDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.ProductsDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Products"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_ProductID, string Original_ProductName, global::System.Nullable Original_SupplierID, global::System.Nullable Original_CategoryID, string Original_QuantityPerUnit, global::System.Nullable Original_UnitPrice, global::System.Nullable Original_UnitsInStock, global::System.Nullable Original_UnitsOnOrder, global::System.Nullable Original_ReorderLevel, bool Original_Discontinued) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_ProductID)); + if ((Original_ProductName == null)) { + throw new global::System.ArgumentNullException("Original_ProductName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_ProductName)); + } + if ((Original_SupplierID.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((int)(Original_SupplierID.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((Original_CategoryID.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((int)(Original_CategoryID.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((Original_QuantityPerUnit == null)) { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[8].Value = ((string)(Original_QuantityPerUnit)); + } + if ((Original_UnitPrice.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[10].Value = ((decimal)(Original_UnitPrice.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value; + } + if ((Original_UnitsInStock.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[12].Value = ((short)(Original_UnitsInStock.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value; + } + if ((Original_UnitsOnOrder.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((short)(Original_UnitsOnOrder.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + if ((Original_ReorderLevel.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[16].Value = ((short)(Original_ReorderLevel.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value; + } + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[18].Value = ((bool)(Original_Discontinued)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string ProductName, global::System.Nullable SupplierID, global::System.Nullable CategoryID, string QuantityPerUnit, global::System.Nullable UnitPrice, global::System.Nullable UnitsInStock, global::System.Nullable UnitsOnOrder, global::System.Nullable ReorderLevel, bool Discontinued) { + if ((ProductName == null)) { + throw new global::System.ArgumentNullException("ProductName"); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(ProductName)); + } + if ((SupplierID.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[1].Value = ((int)(SupplierID.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + if ((CategoryID.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[2].Value = ((int)(CategoryID.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((QuantityPerUnit == null)) { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = ((string)(QuantityPerUnit)); + } + if ((UnitPrice.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[4].Value = ((decimal)(UnitPrice.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((UnitsInStock.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[5].Value = ((short)(UnitsInStock.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((UnitsOnOrder.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[6].Value = ((short)(UnitsOnOrder.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((ReorderLevel.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[7].Value = ((short)(ReorderLevel.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value; + } + this.Adapter.InsertCommand.Parameters[8].Value = ((bool)(Discontinued)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string ProductName, + global::System.Nullable SupplierID, + global::System.Nullable CategoryID, + string QuantityPerUnit, + global::System.Nullable UnitPrice, + global::System.Nullable UnitsInStock, + global::System.Nullable UnitsOnOrder, + global::System.Nullable ReorderLevel, + bool Discontinued, + int Original_ProductID, + string Original_ProductName, + global::System.Nullable Original_SupplierID, + global::System.Nullable Original_CategoryID, + string Original_QuantityPerUnit, + global::System.Nullable Original_UnitPrice, + global::System.Nullable Original_UnitsInStock, + global::System.Nullable Original_UnitsOnOrder, + global::System.Nullable Original_ReorderLevel, + bool Original_Discontinued) { + if ((ProductName == null)) { + throw new global::System.ArgumentNullException("ProductName"); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(ProductName)); + } + if ((SupplierID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(SupplierID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + if ((CategoryID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(CategoryID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((QuantityPerUnit == null)) { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(QuantityPerUnit)); + } + if ((UnitPrice.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[4].Value = ((decimal)(UnitPrice.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((UnitsInStock.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((short)(UnitsInStock.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((UnitsOnOrder.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[6].Value = ((short)(UnitsOnOrder.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + if ((ReorderLevel.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[7].Value = ((short)(ReorderLevel.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[8].Value = ((bool)(Discontinued)); + this.Adapter.UpdateCommand.Parameters[9].Value = ((int)(Original_ProductID)); + if ((Original_ProductName == null)) { + throw new global::System.ArgumentNullException("Original_ProductName"); + } + else { + this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[11].Value = ((string)(Original_ProductName)); + } + if ((Original_SupplierID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[13].Value = ((int)(Original_SupplierID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value; + } + if ((Original_CategoryID.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[15].Value = ((int)(Original_CategoryID.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value; + } + if ((Original_QuantityPerUnit == null)) { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[17].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[17].Value = ((string)(Original_QuantityPerUnit)); + } + if ((Original_UnitPrice.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[19].Value = ((decimal)(Original_UnitPrice.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[19].Value = global::System.DBNull.Value; + } + if ((Original_UnitsInStock.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[21].Value = ((short)(Original_UnitsInStock.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[21].Value = global::System.DBNull.Value; + } + if ((Original_UnitsOnOrder.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[23].Value = ((short)(Original_UnitsOnOrder.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[23].Value = global::System.DBNull.Value; + } + if ((Original_ReorderLevel.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[25].Value = ((short)(Original_ReorderLevel.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[25].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[27].Value = ((bool)(Original_Discontinued)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class ShippersTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ShippersTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Shippers"; + tableMapping.ColumnMappings.Add("ShipperID", "ShipperID"); + tableMapping.ColumnMappings.Add("CompanyName", "CompanyName"); + tableMapping.ColumnMappings.Add("Phone", "Phone"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = "DELETE FROM `Shippers` WHERE ((`ShipperID` = ?) AND ((? = 1 AND `CompanyName` IS " + + "NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?))" + + ")"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipperID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipperID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Shippers` (`CompanyName`, `Phone`) VALUES (?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = "UPDATE `Shippers` SET `CompanyName` = ?, `Phone` = ? WHERE ((`ShipperID` = ?) AND" + + " ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Pho" + + "ne` IS NULL) OR (`Phone` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ShipperID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ShipperID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT ShipperID, CompanyName, Phone FROM Shippers"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.ShippersDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.ShippersDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.ShippersDataTable dataTable = new NorthwindDataSet.ShippersDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.ShippersDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Shippers"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_ShipperID, string Original_CompanyName, string Original_Phone) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_ShipperID)); + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_CompanyName)); + } + if ((Original_Phone == null)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_Phone)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string CompanyName, string Phone) { + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CompanyName)); + } + if ((Phone == null)) { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Phone)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update(string CompanyName, string Phone, int Original_ShipperID, string Original_CompanyName, string Original_Phone) { + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CompanyName)); + } + if ((Phone == null)) { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Phone)); + } + this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(Original_ShipperID)); + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(Original_CompanyName)); + } + if ((Original_Phone == null)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(Original_Phone)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class SuppliersTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.OleDb.OleDbDataAdapter _adapter; + + private global::System.Data.OleDb.OleDbConnection _connection; + + private global::System.Data.OleDb.OleDbTransaction _transaction; + + private global::System.Data.OleDb.OleDbCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public SuppliersTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.OleDb.OleDbDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.OleDb.OleDbCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.OleDb.OleDbTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.OleDb.OleDbCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.OleDb.OleDbDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "Suppliers"; + tableMapping.ColumnMappings.Add("SupplierID", "SupplierID"); + tableMapping.ColumnMappings.Add("CompanyName", "CompanyName"); + tableMapping.ColumnMappings.Add("ContactName", "ContactName"); + tableMapping.ColumnMappings.Add("ContactTitle", "ContactTitle"); + tableMapping.ColumnMappings.Add("Address", "Address"); + tableMapping.ColumnMappings.Add("City", "City"); + tableMapping.ColumnMappings.Add("Region", "Region"); + tableMapping.ColumnMappings.Add("PostalCode", "PostalCode"); + tableMapping.ColumnMappings.Add("Country", "Country"); + tableMapping.ColumnMappings.Add("Phone", "Phone"); + tableMapping.ColumnMappings.Add("Fax", "Fax"); + tableMapping.ColumnMappings.Add("HomePage", "HomePage"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM `Suppliers` WHERE ((`SupplierID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactTitle", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Fax", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.InsertCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO `Suppliers` (`CompanyName`, `ContactName`, `ContactTitle`, `Address`," + + " `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`, `HomePage`) VALUES (" + + "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HomePage", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePage", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand = new global::System.Data.OleDb.OleDbCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = @"UPDATE `Suppliers` SET `CompanyName` = ?, `ContactName` = ?, `ContactTitle` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `Phone` = ?, `Fax` = ?, `HomePage` = ? WHERE ((`SupplierID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("HomePage", global::System.Data.OleDb.OleDbType.LongVarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "HomePage", global::System.Data.DataRowVersion.Current, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_SupplierID", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "SupplierID", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_CompanyName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_CompanyName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "CompanyName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactName", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactName", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactName", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_ContactTitle", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_ContactTitle", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ContactTitle", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Address", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Address", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Address", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_City", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_City", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "City", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Region", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Region", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Region", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_PostalCode", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_PostalCode", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "PostalCode", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Country", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Country", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Country", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Phone", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Phone", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Phone", global::System.Data.DataRowVersion.Original, false, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("IsNull_Fax", global::System.Data.OleDb.OleDbType.Integer, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, true, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.OleDb.OleDbParameter("Original_Fax", global::System.Data.OleDb.OleDbType.VarWChar, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "Fax", global::System.Data.DataRowVersion.Original, false, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.OleDb.OleDbConnection(); + this._connection.ConnectionString = global::Grouping_Data_OLE_DB.Properties.Settings.Default.NorthwindConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1]; + this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region," + + " PostalCode, Country, Phone, Fax, HomePage FROM Suppliers"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(NorthwindDataSet.SuppliersDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual NorthwindDataSet.SuppliersDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + NorthwindDataSet.SuppliersDataTable dataTable = new NorthwindDataSet.SuppliersDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet.SuppliersDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(NorthwindDataSet dataSet) { + return this.Adapter.Update(dataSet, "Suppliers"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_SupplierID, string Original_CompanyName, string Original_ContactName, string Original_ContactTitle, string Original_Address, string Original_City, string Original_Region, string Original_PostalCode, string Original_Country, string Original_Phone, string Original_Fax) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_SupplierID)); + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_CompanyName)); + } + if ((Original_ContactName == null)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_ContactName)); + } + if ((Original_ContactTitle == null)) { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[6].Value = ((string)(Original_ContactTitle)); + } + if ((Original_Address == null)) { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[8].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[10].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[12].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[16].Value = ((string)(Original_Country)); + } + if ((Original_Phone == null)) { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[18].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[18].Value = ((string)(Original_Phone)); + } + if ((Original_Fax == null)) { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[20].Value = global::System.DBNull.Value; + } + else { + this.Adapter.DeleteCommand.Parameters[19].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[20].Value = ((string)(Original_Fax)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string CompanyName, string ContactName, string ContactTitle, string Address, string City, string Region, string PostalCode, string Country, string Phone, string Fax, string HomePage) { + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CompanyName)); + } + if ((ContactName == null)) { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(ContactName)); + } + if ((ContactTitle == null)) { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = ((string)(ContactTitle)); + } + if ((Address == null)) { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[6].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[7].Value = ((string)(Country)); + } + if ((Phone == null)) { + this.Adapter.InsertCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[8].Value = ((string)(Phone)); + } + if ((Fax == null)) { + this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[9].Value = ((string)(Fax)); + } + if ((HomePage == null)) { + this.Adapter.InsertCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[10].Value = ((string)(HomePage)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update( + string CompanyName, + string ContactName, + string ContactTitle, + string Address, + string City, + string Region, + string PostalCode, + string Country, + string Phone, + string Fax, + string HomePage, + int Original_SupplierID, + string Original_CompanyName, + string Original_ContactName, + string Original_ContactTitle, + string Original_Address, + string Original_City, + string Original_Region, + string Original_PostalCode, + string Original_Country, + string Original_Phone, + string Original_Fax) { + if ((CompanyName == null)) { + throw new global::System.ArgumentNullException("CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CompanyName)); + } + if ((ContactName == null)) { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(ContactName)); + } + if ((ContactTitle == null)) { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(ContactTitle)); + } + if ((Address == null)) { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(Address)); + } + if ((City == null)) { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(City)); + } + if ((Region == null)) { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(Region)); + } + if ((PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(PostalCode)); + } + if ((Country == null)) { + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[7].Value = ((string)(Country)); + } + if ((Phone == null)) { + this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Phone)); + } + if ((Fax == null)) { + this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(Fax)); + } + if ((HomePage == null)) { + this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(HomePage)); + } + this.Adapter.UpdateCommand.Parameters[11].Value = ((int)(Original_SupplierID)); + if ((Original_CompanyName == null)) { + throw new global::System.ArgumentNullException("Original_CompanyName"); + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[13].Value = ((string)(Original_CompanyName)); + } + if ((Original_ContactName == null)) { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_ContactName)); + } + if ((Original_ContactTitle == null)) { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[17].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[17].Value = ((string)(Original_ContactTitle)); + } + if ((Original_Address == null)) { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[19].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[19].Value = ((string)(Original_Address)); + } + if ((Original_City == null)) { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[21].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[20].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[21].Value = ((string)(Original_City)); + } + if ((Original_Region == null)) { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[23].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[22].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[23].Value = ((string)(Original_Region)); + } + if ((Original_PostalCode == null)) { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[25].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[24].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[25].Value = ((string)(Original_PostalCode)); + } + if ((Original_Country == null)) { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[27].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[27].Value = ((string)(Original_Country)); + } + if ((Original_Phone == null)) { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[29].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[29].Value = ((string)(Original_Phone)); + } + if ((Original_Fax == null)) { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[31].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[30].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[31].Value = ((string)(Original_Fax)); + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerDesigner, Microsoft.VSD" + + "esigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapterManager")] + public partial class TableAdapterManager : global::System.ComponentModel.Component { + + private UpdateOrderOption _updateOrder; + + private CategoriesTableAdapter _categoriesTableAdapter; + + private CustomersTableAdapter _customersTableAdapter; + + private EmployeesTableAdapter _employeesTableAdapter; + + private Order_DetailsTableAdapter _order_DetailsTableAdapter; + + private OrdersTableAdapter _ordersTableAdapter; + + private ProductsTableAdapter _productsTableAdapter; + + private ShippersTableAdapter _shippersTableAdapter; + + private SuppliersTableAdapter _suppliersTableAdapter; + + private bool _backupDataSetBeforeUpdate; + + private global::System.Data.IDbConnection _connection; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UpdateOrderOption UpdateOrder { + get { + return this._updateOrder; + } + set { + this._updateOrder = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public CategoriesTableAdapter CategoriesTableAdapter { + get { + return this._categoriesTableAdapter; + } + set { + this._categoriesTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public CustomersTableAdapter CustomersTableAdapter { + get { + return this._customersTableAdapter; + } + set { + this._customersTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public EmployeesTableAdapter EmployeesTableAdapter { + get { + return this._employeesTableAdapter; + } + set { + this._employeesTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public Order_DetailsTableAdapter Order_DetailsTableAdapter { + get { + return this._order_DetailsTableAdapter; + } + set { + this._order_DetailsTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public OrdersTableAdapter OrdersTableAdapter { + get { + return this._ordersTableAdapter; + } + set { + this._ordersTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public ProductsTableAdapter ProductsTableAdapter { + get { + return this._productsTableAdapter; + } + set { + this._productsTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public ShippersTableAdapter ShippersTableAdapter { + get { + return this._shippersTableAdapter; + } + set { + this._shippersTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public SuppliersTableAdapter SuppliersTableAdapter { + get { + return this._suppliersTableAdapter; + } + set { + this._suppliersTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool BackupDataSetBeforeUpdate { + get { + return this._backupDataSetBeforeUpdate; + } + set { + this._backupDataSetBeforeUpdate = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public global::System.Data.IDbConnection Connection { + get { + if ((this._connection != null)) { + return this._connection; + } + if (((this._categoriesTableAdapter != null) + && (this._categoriesTableAdapter.Connection != null))) { + return this._categoriesTableAdapter.Connection; + } + if (((this._customersTableAdapter != null) + && (this._customersTableAdapter.Connection != null))) { + return this._customersTableAdapter.Connection; + } + if (((this._employeesTableAdapter != null) + && (this._employeesTableAdapter.Connection != null))) { + return this._employeesTableAdapter.Connection; + } + if (((this._order_DetailsTableAdapter != null) + && (this._order_DetailsTableAdapter.Connection != null))) { + return this._order_DetailsTableAdapter.Connection; + } + if (((this._ordersTableAdapter != null) + && (this._ordersTableAdapter.Connection != null))) { + return this._ordersTableAdapter.Connection; + } + if (((this._productsTableAdapter != null) + && (this._productsTableAdapter.Connection != null))) { + return this._productsTableAdapter.Connection; + } + if (((this._shippersTableAdapter != null) + && (this._shippersTableAdapter.Connection != null))) { + return this._shippersTableAdapter.Connection; + } + if (((this._suppliersTableAdapter != null) + && (this._suppliersTableAdapter.Connection != null))) { + return this._suppliersTableAdapter.Connection; + } + return null; + } + set { + this._connection = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int TableAdapterInstanceCount { + get { + int count = 0; + if ((this._categoriesTableAdapter != null)) { + count = (count + 1); + } + if ((this._customersTableAdapter != null)) { + count = (count + 1); + } + if ((this._employeesTableAdapter != null)) { + count = (count + 1); + } + if ((this._order_DetailsTableAdapter != null)) { + count = (count + 1); + } + if ((this._ordersTableAdapter != null)) { + count = (count + 1); + } + if ((this._productsTableAdapter != null)) { + count = (count + 1); + } + if ((this._shippersTableAdapter != null)) { + count = (count + 1); + } + if ((this._suppliersTableAdapter != null)) { + count = (count + 1); + } + return count; + } + } + + /// + ///Update rows in top-down order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateUpdatedRows(NorthwindDataSet dataSet, global::System.Collections.Generic.List allChangedRows, global::System.Collections.Generic.List allAddedRows) { + int result = 0; + if ((this._categoriesTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Categories.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._categoriesTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._customersTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Customers.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._customersTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._employeesTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Employees.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._employeesTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._shippersTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Shippers.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._shippersTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._suppliersTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Suppliers.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._suppliersTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._ordersTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Orders.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._ordersTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._productsTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Products.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._productsTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._order_DetailsTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.Order_Details.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._order_DetailsTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + return result; + } + + /// + ///Insert rows in top-down order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateInsertedRows(NorthwindDataSet dataSet, global::System.Collections.Generic.List allAddedRows) { + int result = 0; + if ((this._categoriesTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Categories.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._categoriesTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._customersTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Customers.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._customersTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._employeesTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Employees.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._employeesTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._shippersTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Shippers.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._shippersTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._suppliersTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Suppliers.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._suppliersTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._ordersTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Orders.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._ordersTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._productsTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Products.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._productsTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._order_DetailsTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.Order_Details.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._order_DetailsTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + return result; + } + + /// + ///Delete rows in bottom-up order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateDeletedRows(NorthwindDataSet dataSet, global::System.Collections.Generic.List allChangedRows) { + int result = 0; + if ((this._order_DetailsTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Order_Details.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._order_DetailsTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._productsTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Products.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._productsTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._ordersTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Orders.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._ordersTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._suppliersTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Suppliers.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._suppliersTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._shippersTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Shippers.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._shippersTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._employeesTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Employees.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._employeesTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._customersTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Customers.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._customersTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._categoriesTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.Categories.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._categoriesTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + return result; + } + + /// + ///Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private global::System.Data.DataRow[] GetRealUpdatedRows(global::System.Data.DataRow[] updatedRows, global::System.Collections.Generic.List allAddedRows) { + if (((updatedRows == null) + || (updatedRows.Length < 1))) { + return updatedRows; + } + if (((allAddedRows == null) + || (allAddedRows.Count < 1))) { + return updatedRows; + } + global::System.Collections.Generic.List realUpdatedRows = new global::System.Collections.Generic.List(); + for (int i = 0; (i < updatedRows.Length); i = (i + 1)) { + global::System.Data.DataRow row = updatedRows[i]; + if ((allAddedRows.Contains(row) == false)) { + realUpdatedRows.Add(row); + } + } + return realUpdatedRows.ToArray(); + } + + /// + ///Update all changes to the dataset. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public virtual int UpdateAll(NorthwindDataSet dataSet) { + if ((dataSet == null)) { + throw new global::System.ArgumentNullException("dataSet"); + } + if ((dataSet.HasChanges() == false)) { + return 0; + } + if (((this._categoriesTableAdapter != null) + && (this.MatchTableAdapterConnection(this._categoriesTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._customersTableAdapter != null) + && (this.MatchTableAdapterConnection(this._customersTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._employeesTableAdapter != null) + && (this.MatchTableAdapterConnection(this._employeesTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._order_DetailsTableAdapter != null) + && (this.MatchTableAdapterConnection(this._order_DetailsTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._ordersTableAdapter != null) + && (this.MatchTableAdapterConnection(this._ordersTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._productsTableAdapter != null) + && (this.MatchTableAdapterConnection(this._productsTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._shippersTableAdapter != null) + && (this.MatchTableAdapterConnection(this._shippersTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + if (((this._suppliersTableAdapter != null) + && (this.MatchTableAdapterConnection(this._suppliersTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + global::System.Data.IDbConnection workConnection = this.Connection; + if ((workConnection == null)) { + throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + + "ger TableAdapter property to a valid TableAdapter instance."); + } + bool workConnOpened = false; + if (((workConnection.State & global::System.Data.ConnectionState.Broken) + == global::System.Data.ConnectionState.Broken)) { + workConnection.Close(); + } + if ((workConnection.State == global::System.Data.ConnectionState.Closed)) { + workConnection.Open(); + workConnOpened = true; + } + global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); + if ((workTransaction == null)) { + throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + + "ctions or the current state is not allowing the transaction to begin."); + } + global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.List adaptersWithAcceptChangesDuringUpdate = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.Dictionary revertConnections = new global::System.Collections.Generic.Dictionary(); + int result = 0; + global::System.Data.DataSet backupDataSet = null; + if (this.BackupDataSetBeforeUpdate) { + backupDataSet = new global::System.Data.DataSet(); + backupDataSet.Merge(dataSet); + } + try { + // ---- Prepare for update ----------- + // + if ((this._categoriesTableAdapter != null)) { + revertConnections.Add(this._categoriesTableAdapter, this._categoriesTableAdapter.Connection); + this._categoriesTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._categoriesTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._categoriesTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._categoriesTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._categoriesTableAdapter.Adapter); + } + } + if ((this._customersTableAdapter != null)) { + revertConnections.Add(this._customersTableAdapter, this._customersTableAdapter.Connection); + this._customersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._customersTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._customersTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._customersTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._customersTableAdapter.Adapter); + } + } + if ((this._employeesTableAdapter != null)) { + revertConnections.Add(this._employeesTableAdapter, this._employeesTableAdapter.Connection); + this._employeesTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._employeesTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._employeesTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._employeesTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._employeesTableAdapter.Adapter); + } + } + if ((this._order_DetailsTableAdapter != null)) { + revertConnections.Add(this._order_DetailsTableAdapter, this._order_DetailsTableAdapter.Connection); + this._order_DetailsTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._order_DetailsTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._order_DetailsTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._order_DetailsTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._order_DetailsTableAdapter.Adapter); + } + } + if ((this._ordersTableAdapter != null)) { + revertConnections.Add(this._ordersTableAdapter, this._ordersTableAdapter.Connection); + this._ordersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._ordersTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._ordersTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._ordersTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._ordersTableAdapter.Adapter); + } + } + if ((this._productsTableAdapter != null)) { + revertConnections.Add(this._productsTableAdapter, this._productsTableAdapter.Connection); + this._productsTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._productsTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._productsTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._productsTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._productsTableAdapter.Adapter); + } + } + if ((this._shippersTableAdapter != null)) { + revertConnections.Add(this._shippersTableAdapter, this._shippersTableAdapter.Connection); + this._shippersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._shippersTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._shippersTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._shippersTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._shippersTableAdapter.Adapter); + } + } + if ((this._suppliersTableAdapter != null)) { + revertConnections.Add(this._suppliersTableAdapter, this._suppliersTableAdapter.Connection); + this._suppliersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(workConnection)); + this._suppliersTableAdapter.Transaction = ((global::System.Data.OleDb.OleDbTransaction)(workTransaction)); + if (this._suppliersTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._suppliersTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._suppliersTableAdapter.Adapter); + } + } + // + //---- Perform updates ----------- + // + if ((this.UpdateOrder == UpdateOrderOption.UpdateInsertDelete)) { + result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows)); + result = (result + this.UpdateInsertedRows(dataSet, allAddedRows)); + } + else { + result = (result + this.UpdateInsertedRows(dataSet, allAddedRows)); + result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows)); + } + result = (result + this.UpdateDeletedRows(dataSet, allChangedRows)); + // + //---- Commit updates ----------- + // + workTransaction.Commit(); + if ((0 < allAddedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count]; + allAddedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + } + } + if ((0 < allChangedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allChangedRows.Count]; + allChangedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + } + } + } + catch (global::System.Exception ex) { + workTransaction.Rollback(); + // ---- Restore the dataset ----------- + if (this.BackupDataSetBeforeUpdate) { + global::System.Diagnostics.Debug.Assert((backupDataSet != null)); + dataSet.Clear(); + dataSet.Merge(backupDataSet); + } + else { + if ((0 < allAddedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count]; + allAddedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + row.SetAdded(); + } + } + } + throw ex; + } + finally { + if (workConnOpened) { + workConnection.Close(); + } + if ((this._categoriesTableAdapter != null)) { + this._categoriesTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._categoriesTableAdapter])); + this._categoriesTableAdapter.Transaction = null; + } + if ((this._customersTableAdapter != null)) { + this._customersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._customersTableAdapter])); + this._customersTableAdapter.Transaction = null; + } + if ((this._employeesTableAdapter != null)) { + this._employeesTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._employeesTableAdapter])); + this._employeesTableAdapter.Transaction = null; + } + if ((this._order_DetailsTableAdapter != null)) { + this._order_DetailsTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._order_DetailsTableAdapter])); + this._order_DetailsTableAdapter.Transaction = null; + } + if ((this._ordersTableAdapter != null)) { + this._ordersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._ordersTableAdapter])); + this._ordersTableAdapter.Transaction = null; + } + if ((this._productsTableAdapter != null)) { + this._productsTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._productsTableAdapter])); + this._productsTableAdapter.Transaction = null; + } + if ((this._shippersTableAdapter != null)) { + this._shippersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._shippersTableAdapter])); + this._shippersTableAdapter.Transaction = null; + } + if ((this._suppliersTableAdapter != null)) { + this._suppliersTableAdapter.Connection = ((global::System.Data.OleDb.OleDbConnection)(revertConnections[this._suppliersTableAdapter])); + this._suppliersTableAdapter.Transaction = null; + } + if ((0 < adaptersWithAcceptChangesDuringUpdate.Count)) { + global::System.Data.Common.DataAdapter[] adapters = new System.Data.Common.DataAdapter[adaptersWithAcceptChangesDuringUpdate.Count]; + adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters); + for (int i = 0; (i < adapters.Length); i = (i + 1)) { + global::System.Data.Common.DataAdapter adapter = adapters[i]; + adapter.AcceptChangesDuringUpdate = true; + } + } + } + return result; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected virtual void SortSelfReferenceRows(global::System.Data.DataRow[] rows, global::System.Data.DataRelation relation, bool childFirst) { + global::System.Array.Sort(rows, new SelfReferenceComparer(relation, childFirst)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected virtual bool MatchTableAdapterConnection(global::System.Data.IDbConnection inputConnection) { + if ((this._connection != null)) { + return true; + } + if (((this.Connection == null) + || (inputConnection == null))) { + return true; + } + if (string.Equals(this.Connection.ConnectionString, inputConnection.ConnectionString, global::System.StringComparison.Ordinal)) { + return true; + } + return false; + } + + /// + ///Update Order Option + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public enum UpdateOrderOption { + + InsertUpdateDelete = 0, + + UpdateInsertDelete = 1, + } + + /// + ///Used to sort self-referenced table's rows + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private class SelfReferenceComparer : object, global::System.Collections.Generic.IComparer { + + private global::System.Data.DataRelation _relation; + + private int _childFirst; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal SelfReferenceComparer(global::System.Data.DataRelation relation, bool childFirst) { + this._relation = relation; + if (childFirst) { + this._childFirst = -1; + } + else { + this._childFirst = 1; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private global::System.Data.DataRow GetRoot(global::System.Data.DataRow row, out int distance) { + global::System.Diagnostics.Debug.Assert((row != null)); + global::System.Data.DataRow root = row; + distance = 0; + + global::System.Collections.Generic.IDictionary traversedRows = new global::System.Collections.Generic.Dictionary(); + traversedRows[row] = row; + + global::System.Data.DataRow parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default); + for ( + ; ((parent != null) + && (traversedRows.ContainsKey(parent) == false)); + ) { + distance = (distance + 1); + root = parent; + traversedRows[parent] = parent; + parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default); + } + + if ((distance == 0)) { + traversedRows.Clear(); + traversedRows[row] = row; + parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original); + for ( + ; ((parent != null) + && (traversedRows.ContainsKey(parent) == false)); + ) { + distance = (distance + 1); + root = parent; + traversedRows[parent] = parent; + parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original); + } + } + + return root; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int Compare(global::System.Data.DataRow row1, global::System.Data.DataRow row2) { + if (object.ReferenceEquals(row1, row2)) { + return 0; + } + if ((row1 == null)) { + return -1; + } + if ((row2 == null)) { + return 1; + } + + int distance1 = 0; + global::System.Data.DataRow root1 = this.GetRoot(row1, out distance1); + + int distance2 = 0; + global::System.Data.DataRow root2 = this.GetRoot(row2, out distance2); + + if (object.ReferenceEquals(root1, root2)) { + return (this._childFirst * distance1.CompareTo(distance2)); + } + else { + global::System.Diagnostics.Debug.Assert(((root1.Table != null) + && (root2.Table != null))); + if ((root1.Table.Rows.IndexOf(root1) < root2.Table.Rows.IndexOf(root2))) { + return -1; + } + else { + return 1; + } + } + } + } + } +} + +#pragma warning restore 1591 \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsc b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsc new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsc @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsd b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsd new file mode 100644 index 000000000..9ded43bf7 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xsd @@ -0,0 +1,1241 @@ + + + + + + + + + + + + + + + DELETE FROM `Categories` WHERE ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName` IS NULL) OR (`CategoryName` = ?))) + + + + + + + + + + INSERT INTO `Categories` (`CategoryName`, `Description`, `Picture`) VALUES (?, ?, ?) + + + + + + + + + + SELECT CategoryID, CategoryName, Description, Picture FROM Categories + + + + + + UPDATE `Categories` SET `CategoryName` = ?, `Description` = ?, `Picture` = ? WHERE ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName` IS NULL) OR (`CategoryName` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Customers` WHERE ((`CustomerID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO `Customers` (`CustomerID`, `CompanyName`, `ContactName`, `ContactTitle`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + + + + + + + + + + + + + + + + + + SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers + + + + + + UPDATE `Customers` SET `CustomerID` = ?, `CompanyName` = ?, `ContactName` = ?, `ContactTitle` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `Phone` = ?, `Fax` = ? WHERE ((`CustomerID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Employees` WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `LastName` IS NULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`FirstName` = ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 AND `TitleOfCourtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `BirthDate` IS NULL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`HireDate` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NULL) OR (`HomePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` = ?)) AND ((? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO `Employees` (`LastName`, `FirstName`, `Title`, `TitleOfCourtesy`, `BirthDate`, `HireDate`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `HomePhone`, `Extension`, `Photo`, `Notes`, `ReportsTo`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + + + + + + + + + + + + + + + + + + + + + + + SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Photo, Notes, ReportsTo FROM Employees + + + + + + UPDATE `Employees` SET `LastName` = ?, `FirstName` = ?, `Title` = ?, `TitleOfCourtesy` = ?, `BirthDate` = ?, `HireDate` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `HomePhone` = ?, `Extension` = ?, `Photo` = ?, `Notes` = ?, `ReportsTo` = ? WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `LastName` IS NULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`FirstName` = ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 AND `TitleOfCourtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `BirthDate` IS NULL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`HireDate` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NULL) OR (`HomePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` = ?)) AND ((? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Order Details` WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` = ?))) + + + + + + + + + + + + + + + INSERT INTO `Order Details` (`OrderID`, `ProductID`, `UnitPrice`, `Quantity`, `Discount`) VALUES (?, ?, ?, ?, ?) + + + + + + + + + + + + SELECT OrderID, ProductID, UnitPrice, Quantity, Discount FROM [Order Details] + + + + + + UPDATE `Order Details` SET `OrderID` = ?, `ProductID` = ?, `UnitPrice` = ?, `Quantity` = ?, `Discount` = ? WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Orders` WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL) OR (`CustomerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` = ?)) AND ((? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND `RequiredDate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` IS NULL) OR (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia` = ?)) AND ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `ShipName` IS NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR (`ShipAddress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) AND ((? = 1 AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `ShipPostalCode` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` IS NULL) OR (`ShipCountry` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO `Orders` (`CustomerID`, `EmployeeID`, `OrderDate`, `RequiredDate`, `ShippedDate`, `ShipVia`, `Freight`, `ShipName`, `ShipAddress`, `ShipCity`, `ShipRegion`, `ShipPostalCode`, `ShipCountry`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + + + + + + + + + + + + + + + + + + + + SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry FROM Orders + + + + + + UPDATE `Orders` SET `CustomerID` = ?, `EmployeeID` = ?, `OrderDate` = ?, `RequiredDate` = ?, `ShippedDate` = ?, `ShipVia` = ?, `Freight` = ?, `ShipName` = ?, `ShipAddress` = ?, `ShipCity` = ?, `ShipRegion` = ?, `ShipPostalCode` = ?, `ShipCountry` = ? WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL) OR (`CustomerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` = ?)) AND ((? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND `RequiredDate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` IS NULL) OR (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia` = ?)) AND ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `ShipName` IS NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR (`ShipAddress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) AND ((? = 1 AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `ShipPostalCode` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` IS NULL) OR (`ShipCountry` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Products` WHERE ((`ProductID` = ?) AND ((? = 1 AND `ProductName` IS NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL) OR (`SupplierID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` = ?)) AND ((? = 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInStock` IS NULL) OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) OR (`UnitsOnOrder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLevel` = ?)) AND ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO `Products` (`ProductName`, `SupplierID`, `CategoryID`, `QuantityPerUnit`, `UnitPrice`, `UnitsInStock`, `UnitsOnOrder`, `ReorderLevel`, `Discontinued`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) + + + + + + + + + + + + + + + + SELECT ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued FROM Products + + + + + + UPDATE `Products` SET `ProductName` = ?, `SupplierID` = ?, `CategoryID` = ?, `QuantityPerUnit` = ?, `UnitPrice` = ?, `UnitsInStock` = ?, `UnitsOnOrder` = ?, `ReorderLevel` = ?, `Discontinued` = ? WHERE ((`ProductID` = ?) AND ((? = 1 AND `ProductName` IS NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL) OR (`SupplierID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` = ?)) AND ((? = 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND ((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInStock` IS NULL) OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) OR (`UnitsOnOrder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLevel` = ?)) AND ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Shippers` WHERE ((`ShipperID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?))) + + + + + + + + + + + + INSERT INTO `Shippers` (`CompanyName`, `Phone`) VALUES (?, ?) + + + + + + + + + SELECT ShipperID, CompanyName, Phone FROM Shippers + + + + + + UPDATE `Shippers` SET `CompanyName` = ?, `Phone` = ? WHERE ((`ShipperID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM `Suppliers` WHERE ((`SupplierID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO `Suppliers` (`CompanyName`, `ContactName`, `ContactTitle`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`, `HomePage`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + + + + + + + + + + + + + + + + + + SELECT SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage FROM Suppliers + + + + + + UPDATE `Suppliers` SET `CompanyName` = ?, `ContactName` = ?, `ContactTitle` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `Phone` = ?, `Fax` = ?, `HomePage` = ? WHERE ((`SupplierID` = ?) AND ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xss b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xss new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Data/NorthwindDataSet.xss @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Grouping Data OLE DB.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Grouping Data OLE DB.csproj new file mode 100644 index 000000000..6e6ec63a7 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Grouping Data OLE DB.csproj @@ -0,0 +1,92 @@ + + + + + Debug + AnyCPU + {5C2D57D4-5D1F-4F70-BAB1-E1D69E9B4B64} + Exe + Properties + Grouping_Data_OLE_DB + Grouping Data OLE DB + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + True + True + NorthwindDataSet.xsd + + + + + True + True + Settings.settings + + + + + + NorthwindDataSet.xsd + + + MSDataSetGenerator + NorthwindDataSet.Designer.cs + Designer + + + NorthwindDataSet.xsd + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + Always + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Program.cs new file mode 100644 index 000000000..43769d3fb --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Program.cs @@ -0,0 +1,55 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System.Data; +using System.Data.OleDb; +using Aspose.Cells; + +namespace Grouping_Data_OLE_DB +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Create a connection object, specify the provider info and set the data source. + OleDbConnection con = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=Files\\Generate Reports and Populate Data\\Grouping Data OLE DB\\Data\\Northwind.mdb"); + + //Open the connection object. + con.Open(); + + //Create a command object and specify the SQL query. + OleDbCommand cmd = new OleDbCommand("Select * from [Order Details]", con); + + //Create a data adapter object. + OleDbDataAdapter da = new OleDbDataAdapter(); + + //Specify the command. + da.SelectCommand = cmd; + + //Create a dataset object. + DataSet ds = new DataSet(); + + //Fill the dataset with the table records. + da.Fill(ds, "Order Details"); + + //Create a datatable with respect to dataset table. + DataTable dt = ds.Tables["Order Details"]; + + //Create WorkbookDesigner object. + WorkbookDesigner wd = new WorkbookDesigner(); + + //Open the template file (which contains smart markers). + wd.Workbook = new Workbook(MyDir+"SmartMarkerDesigner.xls"); + + //Set the datatable as the data source. + wd.SetDataSource(dt); + + //Process the smart markers to fill the data into the worksheets. + wd.Process(true); + + //Save the excel file. + wd.Workbook.Save(MyDir+"outSmartMarker_Designer.xls"); + + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7a244fb4f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Grouping Data OLE DB")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Grouping Data OLE DB")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7d6ea79d-0d3e-4711-b0db-c6ed91c94016")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.Designer.cs new file mode 100644 index 000000000..39238d895 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.Designer.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18063 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Grouping_Data_OLE_DB.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] + [global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Data\\Northwind.mdb;P" + + "ersist Security Info=True")] + public string NorthwindConnectionString { + get { + return ((string)(this["NorthwindConnectionString"])); + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.settings b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.settings new file mode 100644 index 000000000..c3f77e759 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Grouping Data OLE DB/Properties/Settings.settings @@ -0,0 +1,14 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data\Northwind.mdb;Persist Security Info=True</ConnectionString> + <ProviderName>System.Data.OleDb</ProviderName> +</SerializableConnectionString> + Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data\Northwind.mdb;Persist Security Info=True + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Image Markers.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Image Markers.csproj new file mode 100644 index 000000000..deb3c18f5 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Image Markers.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {DE58B13C-2A65-4723-89D2-83A23D9C3C38} + Exe + Properties + Image_Markers + Image Markers + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Program.cs new file mode 100644 index 000000000..6b2376080 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Program.cs @@ -0,0 +1,46 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System.Data; +using System.IO; +using Aspose.Cells; + +namespace Image_Markers +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Get the image data. + byte[] imageData = File.ReadAllBytes(MyDir + "Thumbnail.jpg"); + //Create a datatable. + DataTable t = new DataTable("Table1"); + //Add a column to save pictures. + DataColumn dc = t.Columns.Add("Picture"); + //Set its data type. + dc.DataType = typeof(object); + + //Add a new new record to it. + DataRow row = t.NewRow(); + row[0] = imageData; + t.Rows.Add(row); + + //Add another record (having picture) to it. + imageData = File.ReadAllBytes(MyDir + "Desert.jpg"); + row = t.NewRow(); + row[0] = imageData; + t.Rows.Add(row); + + //Create WorkbookDesigner object. + WorkbookDesigner designer = new WorkbookDesigner(); + //Open the temple Excel file. + designer.Workbook = new Workbook(MyDir + "ImageSmartBook.xls"); + //Set the datasource. + designer.SetDataSource(t); + //Process the markers. + designer.Process(); + //Save the Excel file. + designer.Workbook.Save(MyDir + "out_ImageSmartBook.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..e5388b67a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Image Markers/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Image Markers")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Image Markers")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("34c7f259-f83f-4b5d-80be-755954cdb8d2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Import to Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Import to Worksheet.csproj new file mode 100644 index 000000000..941a52c6a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Import to Worksheet.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {13C8B221-94D8-470B-A1E1-8D553799D107} + Exe + Properties + Import_to_Worksheet + Import to Worksheet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Program.cs new file mode 100644 index 000000000..84cf5203e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Program.cs @@ -0,0 +1,153 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; +using Aspose.Cells; + +namespace Import_to_Worksheet +{ + class Program + { + static void Main(string[] args) + { + ImportFromArray(); + ImportFromArrayList(); + ImportFromCustomObject(); + ImportFromDataTable(); + + } + public static void ImportFromArray() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Adding a new worksheet to the Workbook object + int i = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[i]; + + //Creating an array containing names as string values + string[] names = new string[] { "laurence chen", "roman korchagin", "kyle huang" }; + + //Importing the array of names to 1st row and first column vertically + worksheet.Cells.ImportArray(names, 0, 0, true); + + //Saving the Excel file + workbook.Save(MyDir+"DataImport from Array.xls"); + + } + public static void ImportFromArrayList() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Adding a new worksheet to the Workbook object + int i = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[i]; + //Instantiating an ArrayList object + ArrayList list = new ArrayList(); + + //Add few names to the list as string values + list.Add("laurence chen"); + list.Add("roman korchagin"); + list.Add("kyle huang"); + list.Add("tommy wang"); + + //Importing the contents of ArrayList to 1st row and first column vertically + worksheet.Cells.ImportArrayList(list, 0, 0, true); + + //Saving the Excel file + workbook.Save(MyDir + "DataImport from Array List.xls"); + + } + public static void ImportFromCustomObject() + { + string MyDir = @"Files\"; + //Instantiate a new Workbook + Workbook book = new Workbook(); + //Clear all the worksheets + book.Worksheets.Clear(); + //Add a new Sheet "Data"; + Worksheet sheet = book.Worksheets.Add("Data"); + + //Define List + + List list = new List(); + //Add data to the list of objects + list.Add(new WeeklyItem() { AtYarnStage = 1, InWIPStage = 2, Payment = 3, Shipment = 4, Shipment2 = 5 }); + list.Add(new WeeklyItem() { AtYarnStage = 5, InWIPStage = 9, Payment = 7, Shipment = 2, Shipment2 = 5 }); + list.Add(new WeeklyItem() { AtYarnStage = 7, InWIPStage = 3, Payment = 3, Shipment = 8, Shipment2 = 3 }); + + //We pick a few columns not all to import to the worksheet + sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list, + new string[] { "Date", "InWIPStage", "Shipment", "Payment" }, + true, + 0, + 0, + list.Count, + true, + "dd/mm/yyyy", + false); + + //Auto-fit all the columns + book.Worksheets[0].AutoFitColumns(); + //Save the Excel file + book.Save(MyDir+"ImportedCustomObjects.xls"); + } + public static void ImportFromDataTable() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Adding a new worksheet to the Workbook object + int i = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[i]; + //Instantiating a "Products" DataTable object + DataTable dataTable = new DataTable("Products"); + + //Adding columns to the DataTable object + dataTable.Columns.Add("Product ID", typeof(Int32)); + dataTable.Columns.Add("Product Name", typeof(string)); + dataTable.Columns.Add("Units In Stock", typeof(Int32)); + + //Creating an empty row in the DataTable object + DataRow dr = dataTable.NewRow(); + + //Adding data to the row + dr[0] = 1; + dr[1] = "Aniseed Syrup"; + dr[2] = 15; + + //Adding filled row to the DataTable object + dataTable.Rows.Add(dr); + + //Creating another empty row in the DataTable object + dr = dataTable.NewRow(); + + //Adding data to the row + dr[0] = 2; + dr[1] = "Boston Crab Meat"; + dr[2] = 123; + + //Adding filled row to the DataTable object + dataTable.Rows.Add(dr); + + //Importing the contents of DataTable to the worksheet starting from "A1" cell, + //where true specifies that the column names of the DataTable would be added to + //the worksheet as a header row + worksheet.Cells.ImportDataTable(dataTable, true, "A1"); + workbook.Save(MyDir+"Import From Data Table.xls"); + } + + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..a7a37110b --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Import to Worksheet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Import to Worksheet")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9c094c38-e56d-4e17-8670-2f22d21adbb0")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/WeeklyItem.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/WeeklyItem.cs new file mode 100644 index 000000000..8d2c46083 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Import to Worksheet/WeeklyItem.cs @@ -0,0 +1,30 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Import_to_Worksheet +{ + class WeeklyItem + { + public int AtYarnStage; + public int InWIPStage; + public int Payment; + public int Shipment; + public int Shipment2; + private DateTime dateTime; + + public WeeklyItem(DateTime dateTime) + { + // TODO: Complete member initialization + this.dateTime = dateTime; + + } + + public WeeklyItem() + { + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Program.cs new file mode 100644 index 000000000..c1c8b2d34 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Program.cs @@ -0,0 +1,63 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System.Collections.Generic; +using Aspose.Cells; + +namespace Using_Custom_Objects +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Instantiate the workbookdesigner object. + WorkbookDesigner report = new WorkbookDesigner(); + //Get the first worksheet(default sheet) in the workbook. + Aspose.Cells.Worksheet w = report.Workbook.Worksheets[0]; + + //Input some markers to the cells. + w.Cells["A1"].PutValue("Test"); + w.Cells["A2"].PutValue("&=MyProduct.Name"); + w.Cells["B2"].PutValue("&=MyProduct.Age"); + + //Instantiate the list collection based on the custom class. + IList list = new List(); + //Provide values for the markers using the custom class object. + list.Add(new MyProduct("Simon", 30)); + list.Add(new MyProduct("Johnson", 33)); + + //Set the data source. + report.SetDataSource("MyProduct", list); + + //Process the markers. + report.Process(false); + + //Save the excel file. + report.Workbook.Save(MyDir + "Smart Marker Customobjects.xls"); + } + } + //Definition of Custom class. + public class MyProduct + { + private string m_Name; + + public string Name + { + get { return m_Name; } + set { m_Name = value; } + } + private int m_Age; + + public int Age + { + get { return m_Age; } + set { m_Age = value; } + } + internal MyProduct(string name, int age) + { + this.m_Name = name; + this.m_Age = age; + } + + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..8e3138178 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Using Custom Objects")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Using Custom Objects")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6c0009dc-a98a-40bb-b206-82414c137ec8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Using Custom Objects.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Using Custom Objects.csproj new file mode 100644 index 000000000..710e19ff7 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Custom Objects/Using Custom Objects.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {2F5259D4-B1BA-471B-A029-AB6BB82DAF1D} + Exe + Properties + Using_Custom_Objects + Using Custom Objects + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/App.config new file mode 100644 index 000000000..8686372bd --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/App.config @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Program.cs new file mode 100644 index 000000000..f680cd64f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Program.cs @@ -0,0 +1,92 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using Aspose.Cells; + +namespace Using_Nested_Object +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Initialize WorkbookDesigner object + WorkbookDesigner designer = new WorkbookDesigner(); + //Load the template file + designer.Workbook = new Workbook(MyDir+"SM_NestedObjects.xlsx"); + //Instantiate the List based on the class + System.Collections.Generic.ICollection list = new System.Collections.Generic.List(); + //Create an object for the Individual class + Individual p1 = new Individual("Damian", 30); + //Create the relevant Wife class for the Individual + p1.Wife = new Wife("Dalya", 28); + //Create another object for the Individual class + Individual p2 = new Individual("Mack", 31); + //Create the relevant Wife class for the Individual + p2.Wife = new Wife("Maaria", 29); + //Add the objects to the list + list.Add(p1); + list.Add(p2); + //Specify the DataSource + designer.SetDataSource("Individual", list); + //Process the markers + designer.Process(false); + //Save the Excel file. + designer.Workbook.Save(MyDir+"out_SM_NestedObjects.xlsx"); + } + } + class Individual + { + + private String m_Name; + + public String Name + { + get { return m_Name; } + set { m_Name = value; } + } + private int m_Age; + + public int Age + { + get { return m_Age; } + set { m_Age = value; } + } + internal Individual(string name, int age) + { + this.Name = name; + this.Age = age; + } + private Wife m_Wife; + + public Wife Wife + { + get { return m_Wife; } + set { m_Wife = value; } + } + + } + public class Wife + { + public Wife(string name, int age) + { + this.m_name = name; + this.m_age = age; + } + + private string m_name; + + public string Name + { + get { return m_name; } + set { m_name = value; } + } + private int m_age; + + public int Age + { + get { return m_age; } + set { m_age = value; } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7dfe5d3ad --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Using Nested Object")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Using Nested Object")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("aeed6a21-191b-4589-84fc-aca706417005")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.Designer.cs new file mode 100644 index 000000000..a378174fa --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.Designer.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18063 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Using_Nested_Object.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] + [global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Data\\Northwind.mdb;P" + + "ersist Security Info=True")] + public string NorthwindConnectionString { + get { + return ((string)(this["NorthwindConnectionString"])); + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.settings b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.settings new file mode 100644 index 000000000..cb3e735de --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Properties/Settings.settings @@ -0,0 +1,14 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data\Northwind.mdb;Persist Security Info=True</ConnectionString> + <ProviderName>System.Data.OleDb</ProviderName> +</SerializableConnectionString> + Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data\Northwind.mdb;Persist Security Info=True + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Using Nested Object.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Using Nested Object.csproj new file mode 100644 index 000000000..a389a2804 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Using Nested Object/Using Nested Object.csproj @@ -0,0 +1,71 @@ + + + + + Debug + AnyCPU + {684F1993-F008-4B6F-AD59-B2237A2E015D} + Exe + Properties + Using_Nested_Object + Using Nested Object + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + True + True + Settings.settings + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Program.cs new file mode 100644 index 000000000..dcd95912c --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Program.cs @@ -0,0 +1,146 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System.IO; +using Aspose.Cells; + +namespace Work_with_Rows_n_Col +{ + class Program + { + static void Main(string[] args) + { + InsertRow(); + InsertingMutipleRows(); + DeletingRow(); + DeletingMutipleRows(); + InsertingAColumn(); + DeletingColumn(); + + } + public static void InsertRow() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + + //Inserting a row into the worksheet at 3rd position + worksheet.Cells.InsertRow(2); + + //Saving the modified Excel file + workbook.Save(MyDir + "Inserting Row.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + } + public static void InsertingMutipleRows() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + //Inserting 10 rows into the worksheet starting from 3rd row + worksheet.Cells.InsertRows(2, 10); + //Saving the modified Excel file + workbook.Save(MyDir + "Inserting Mutiple Rows.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + + } + public static void DeletingRow() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + //Deleting 3rd row from the worksheet + worksheet.Cells.DeleteRow(2); + //Saving the modified Excel file + workbook.Save(MyDir + "Deleting Rows.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + + } + public static void DeletingMutipleRows() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + //Deleting 10 rows from the worksheet starting from 3rd row + worksheet.Cells.DeleteRows(2, 10); + //Saving the modified Excel file + workbook.Save(MyDir + "Deleting Mutiple Rows.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + } + public static void InsertingAColumn() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + //Inserting a column into the worksheet at 2nd position + worksheet.Cells.InsertColumn(1); + //Saving the modified Excel file + workbook.Save(MyDir + "Inserting Column.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + } + public static void DeletingColumn() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "Row and Column Operation.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing the first worksheet in the Excel file + Worksheet worksheet = workbook.Worksheets[0]; + //Deleting a column from the worksheet at 2nd position + worksheet.Cells.DeleteColumn(1); + //Saving the modified Excel file + workbook.Save(MyDir + "Deleting Column.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + } + + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..28c4466f9 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Work with Rows n Col")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Work with Rows n Col")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("09738df8-cbaa-4612-b21a-f3a17e59595c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Work with Rows and Columns.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Work with Rows and Columns.csproj new file mode 100644 index 000000000..855f74616 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Generate Reports and Populate Data/Work with Rows n Columns/Work with Rows and Columns.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {530C5F06-29BE-4768-BAF8-053DA876221C} + Exe + Properties + Work_with_Rows_n_Col + Work with Rows n Col + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Locking WordArt Watermark.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Locking WordArt Watermark.csproj new file mode 100644 index 000000000..7dcc9fea0 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Locking WordArt Watermark.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {AE20C861-03C2-4A7C-85E6-282F58E04D76} + Exe + Properties + Locking_WordArt_Watermark + Locking WordArt Watermark + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Program.cs new file mode 100644 index 000000000..c13e78146 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Program.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; +using Aspose.Cells.Drawing; +using System.Drawing; + +namespace Locking_WordArt_Watermark +{ + class Program + { + static void Main(string[] args) + { + //Instantiate a new Workbook + Workbook workbook = new Workbook(); + + //Get the first default sheet + Worksheet sheet = workbook.Worksheets[0]; + + //Add Watermark + Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(MsoPresetTextEffect.TextEffect1, + "CONFIDENTIAL", "Arial Black", 50, false, true + , 18, 8, 1, 1, 130, 800); + + //Lock Shape Aspects + wordart.IsLocked = true; + wordart.SetLockedProperty(ShapeLockType.Selection, true); + wordart.SetLockedProperty(ShapeLockType.ShapeType, true); + wordart.SetLockedProperty(ShapeLockType.Move, true); + wordart.SetLockedProperty(ShapeLockType.Resize, true); + wordart.SetLockedProperty(ShapeLockType.Text, true); + + //Get the fill format of the word art + MsoFillFormat wordArtFormat = wordart.FillFormat; + + //Set the color + wordArtFormat.ForeColor = Color.Red; + + //Set the transparency + wordArtFormat.Transparency = 0.9; + + //Make the line invisible + MsoLineFormat lineFormat = wordart.LineFormat; + lineFormat.IsVisible = false; + + //Save the file + workbook.Save("output.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..8846a472b --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Locking WordArt Watermark/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Locking WordArt Watermark")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Locking WordArt Watermark")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d3b3fceb-722d-4936-aa7c-c9f7edcbe870")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/README.md b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/README.md new file mode 100644 index 000000000..ce7c624c0 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/README.md @@ -0,0 +1,17 @@ +## Missing Features of OpenXML Spreadsheets provided by Aspose.Cells + +This section contains the following sections +* [Add WordArt Watermark to Chart](Add WordArt Watermark to Chart) +* [Add WordArt Watermark to Worksheet](Add WordArt Watermark to Worksheet) +* [Calculate Formula Dynamically](Calculate Formula Dynamically) +* [Convert between Excel formats](Convert between Excel formats) +* [Copy Shapes between Worksheets](Copy Shapes between Worksheets) +* [Encrypting Excel Files](Encrypting Excel Files) +* [Generate Reports and Populate Data](Generate Reports and Populate Data) +* [Locking WordArt Watermark](Locking WordArt Watermark) +* [programming with a workbook object model](programming with a workbook object model) +* [Rendering and Printing](Rendering and Printing) +* [Save Workbook to Text or CSV Format](Save Workbook to Text or CSV Format) +* [Set External Links in Formula](Set External Links in Formula) +* [Setting Formula Calculation Mode of Workbook](Setting Formula Calculation Mode of Workbook) +* [Setting Shared Formula](Setting Shared Formula) diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Chart to Image with Image Options.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Chart to Image with Image Options.csproj new file mode 100644 index 000000000..a3d8e9336 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Chart to Image with Image Options.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85} + Exe + Properties + Chart_to_Image_wit_Img_Opt + Chart to Image wit Img Opt + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Program.cs new file mode 100644 index 000000000..2728e9e19 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Program.cs @@ -0,0 +1,56 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using Aspose.Cells.Rendering; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ChartWithImageOptions +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + + ImageOrPrintOptions options = new ImageOrPrintOptions(); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.TiffCompression = TiffCompression.CompressionLZW; + options.IsCellAutoFit = false; + options.ImageFormat = System.Drawing.Imaging.ImageFormat.Tiff; + options.OnePagePerSheet = true; + //Converting chart to image. + chart.ToImage(MyDir + "Chart to Tiff Image with Image Options.tiff", options); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..cc30bacb4 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Chart to Image with Image Options/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Chart to Image wit Img Opt")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Chart to Image wit Img Opt")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bcfc1eec-f3a1-4f15-bdca-397c44541f5d")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Converting Chart to Images.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Converting Chart to Images.csproj new file mode 100644 index 000000000..442733075 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Converting Chart to Images.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {A700E94F-7BBE-4A3F-A5EE-E24C8A414E45} + Exe + Properties + Converting_Chart_to_Image + Converting Chart to Image + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Program.cs new file mode 100644 index 000000000..45a796155 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Program.cs @@ -0,0 +1,225 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using Aspose.Cells.Rendering; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConvertingChartToImage +{ + class Program + { + static void Main(string[] args) + { + ConvertingChartToEMF(); + ConvertingChartToBMP(); + ConvertingCharttoJPEG(); + ConvertingCharttoPNG(); + ConvertingChartTOTIFF(); + } + public static void ConvertingChartToEMF() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + //Converting chart to image. + chart.ToImage(MyDir + "Chart to EMF Image.Emf", System.Drawing.Imaging.ImageFormat.Emf); + } + public static void ConvertingCharttoJPEG() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + //Converting chart to image. + chart.ToImage(MyDir + "Chart to JPEG Image.Jpeg", System.Drawing.Imaging.ImageFormat.Jpeg); + } + public static void ConvertingCharttoPNG() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + //Converting chart to image. + chart.ToImage(MyDir + "Chart to PNG Image.Png", System.Drawing.Imaging.ImageFormat.Png); + } + public static void ConvertingChartTOTIFF() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + //Converting chart to image. + chart.ToImage(MyDir + "Chart to Tiff Image.Tiff", System.Drawing.Imaging.ImageFormat.Tiff); + } + public static void ConvertingChartTOMultiPageTIFF() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + + ImageOrPrintOptions options = new ImageOrPrintOptions(); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.TiffCompression = TiffCompression.CompressionLZW; + options.IsCellAutoFit = false; + options.ImageFormat = System.Drawing.Imaging.ImageFormat.Tiff; + options.OnePagePerSheet = true; + //Converting chart to image. + chart.ToImage(MyDir + "Chart to Tiff Image.tiff", options); + } + public static void ConvertingChartToBMP() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + //Adding a new worksheet to the Excel object + int sheetIndex = workbook.Worksheets.Add(); + //Obtaining the reference of the newly added worksheet by + //passing its sheet index + Worksheet worksheet = workbook.Worksheets[sheetIndex]; + //Adding a sample value to "A1" cell + worksheet.Cells["A1"].PutValue(50); + //Adding a sample value to "A2" cell + worksheet.Cells["A2"].PutValue(100); + //Adding a sample value to "A3" cell + worksheet.Cells["A3"].PutValue(150); + //Adding a sample value to "B1" cell + worksheet.Cells["B1"].PutValue(4); + //Adding a sample value to "B2" cell + worksheet.Cells["B2"].PutValue(20); + //Adding a sample value to "B3" cell + worksheet.Cells["B3"].PutValue(50); + + //Adding a chart to the worksheet + int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); + //Accessing the instance of the newly added chart + Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; + //Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3" + chart.NSeries.Add("A1:B3", true); + //Converting chart to image. + chart.ToImage(MyDir + "Chart to BMP Image.Bmp", System.Drawing.Imaging.ImageFormat.Bmp); + } + + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..dc190c7db --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Converting Chart to Image/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Converting Chart to Image")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Converting Chart to Image")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e270f885-0b15-465b-afc4-ad900214aad9")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Print Spreadsheet with Options.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Print Spreadsheet with Options.csproj new file mode 100644 index 000000000..7b1ed7612 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Print Spreadsheet with Options.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {37D1275A-2D8D-46A7-9A41-8D4F9EDE4206} + Exe + Properties + Print_SpreadSheet_with_Opt + Print SpreadSheet with Opt + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Program.cs new file mode 100644 index 000000000..482f8b9dd --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Program.cs @@ -0,0 +1,86 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PrintSpreadSheetWithOptions +{ + class Program + { + static void Main(string[] args) + { + SetPrintArea(); + SetPrintTitles(); + SetPrintArea(); + SetOtherPrintOptions(); + } + public static void SetPrintArea() + { + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Obtaining the reference of the PageSetup of the worksheet + PageSetup pageSetup = workbook.Worksheets[0].PageSetup; + + //Specifying the cells range (from A1 cell to T35 cell) of the print area + pageSetup.PrintArea = "A1:T35"; + + } + public static void SetPrintTitles() + { + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Obtaining the reference of the PageSetup of the worksheet + Aspose.Cells.PageSetup pageSetup = workbook.Worksheets[0].PageSetup; + + //Defining column numbers A & B as title columns + pageSetup.PrintTitleColumns = "$A:$B"; + + //Defining row numbers 1 & 2 as title rows + pageSetup.PrintTitleRows = "$1:$2"; + } + public static void SetOtherPrintOptions() + { + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Obtaining the reference of the PageSetup of the worksheet + PageSetup pageSetup = workbook.Worksheets[0].PageSetup; + + //Allowing to print gridlines + pageSetup.PrintGridlines = true; + + //Allowing to print row/column headings + pageSetup.PrintHeadings = true; + + //Allowing to print worksheet in black & white mode + pageSetup.BlackAndWhite = true; + + //Allowing to print comments as displayed on worksheet + pageSetup.PrintComments = PrintCommentsType.PrintInPlace; + + //Allowing to print worksheet with draft quality + pageSetup.PrintDraft = true; + + //Allowing to print cell errors as N/A + pageSetup.PrintErrors = PrintErrorsType.PrintErrorsNA; + } + public static void SetPageOrder() + { + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Obtaining the reference of the PageSetup of the worksheet + PageSetup pageSetup = workbook.Worksheets[0].PageSetup; + + //Setting the printing order of the pages to over then down + pageSetup.Order = PrintOrderType.OverThenDown; + + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7629cafc1 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Print Spreadsheet with Options/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Print SpreadSheet with Opt")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Print SpreadSheet with Opt")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("705d2c22-b323-42a7-b656-97f1359013c1")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Rendering and Printing.sln b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Rendering and Printing.sln new file mode 100644 index 000000000..d945cf359 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Rendering and Printing/Rendering and Printing.sln @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Converting Chart to Images", "Converting Chart to Image\Converting Chart to Images.csproj", "{A700E94F-7BBE-4A3F-A5EE-E24C8A414E45}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chart to Image with Image Options", "Chart to Image wit Img Opt\Chart to Image with Image Options.csproj", "{BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Print Spreadsheet with Options", "Print SpreadSheet with Opt\Print Spreadsheet with Options.csproj", "{37D1275A-2D8D-46A7-9A41-8D4F9EDE4206}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A700E94F-7BBE-4A3F-A5EE-E24C8A414E45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A700E94F-7BBE-4A3F-A5EE-E24C8A414E45}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A700E94F-7BBE-4A3F-A5EE-E24C8A414E45}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A700E94F-7BBE-4A3F-A5EE-E24C8A414E45}.Release|Any CPU.Build.0 = Release|Any CPU + {BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BCB396F5-A3AC-4EAC-9919-53D1DF9A9A85}.Release|Any CPU.Build.0 = Release|Any CPU + {37D1275A-2D8D-46A7-9A41-8D4F9EDE4206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {37D1275A-2D8D-46A7-9A41-8D4F9EDE4206}.Debug|Any CPU.Build.0 = Debug|Any CPU + {37D1275A-2D8D-46A7-9A41-8D4F9EDE4206}.Release|Any CPU.ActiveCfg = Release|Any CPU + {37D1275A-2D8D-46A7-9A41-8D4F9EDE4206}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Program.cs new file mode 100644 index 000000000..52d4f3c59 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Program.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Save_Workbook_to_Text_or_CSV_Format +{ + class Program + { + static void Main(string[] args) + { + string filePath = "source.xlsx"; + + //Load your source workbook + Workbook workbook = new Workbook(filePath); + + //0-byte array + byte[] workbookData = new byte[0]; + + //Text save options. You can use any type of separator + TxtSaveOptions opts = new TxtSaveOptions(); + opts.Separator = '\t'; + + //Copy each worksheet data in text format inside workbook data array + for (int idx = 0; idx < workbook.Worksheets.Count; idx++) + { + //Save the active worksheet into text format + MemoryStream ms = new MemoryStream(); + workbook.Worksheets.ActiveSheetIndex = idx; + workbook.Save(ms, opts); + + //Save the worksheet data into sheet data array + ms.Position = 0; + byte[] sheetData = ms.ToArray(); + + //Combine this worksheet data into workbook data array + byte[] combinedArray = new byte[workbookData.Length + sheetData.Length]; + Array.Copy(workbookData, 0, combinedArray, 0, workbookData.Length); + Array.Copy(sheetData, 0, combinedArray, workbookData.Length, sheetData.Length); + + workbookData = combinedArray; + } + + //Save entire workbook data into file + File.WriteAllBytes(filePath + ".out.txt", workbookData); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..6333f5c69 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Save Workbook to Text or CSV Format")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Save Workbook to Text or CSV Format")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("0a9b4972-ab6c-46ef-8249-b27f320edd9d")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Save Workbook to Text or CSV Format.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Save Workbook to Text or CSV Format.csproj new file mode 100644 index 000000000..0e0c082fc --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Save Workbook to Text or CSV Format/Save Workbook to Text or CSV Format.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {E852A0CD-E259-4CA5-AB6A-63F86A06F5D9} + Exe + Properties + Save_Workbook_to_Text_or_CSV_Format + Save Workbook to Text or CSV Format + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Program.cs new file mode 100644 index 000000000..0d56d7b11 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Program.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Set_External_Links_in_Formula_Aspose.Cells_ +{ + class Program + { + static void Main(string[] args) + { + + //Instantiate a new Workbook. + Workbook workbook = new Workbook(); + + //Get first Worksheet + Worksheet sheet = workbook.Worksheets[0]; + + //Get Cells collection + Cells cells = sheet.Cells; + + //Set formula with external links + cells["A1"].Formula = "=SUM('[book1.xls]Sheet1'!A2, '[book1.xls]Sheet1'!A4)"; + + //Set formula with external links + cells["A2"].Formula = "='[book1.xls]Sheet1'!A8"; + + //Save the workbook + workbook.Save("output.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d685056cf --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Set External Links in Formula(Aspose.Cells)")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Set External Links in Formula(Aspose.Cells)")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ba9a740b-5aa0-4979-a926-e584f678a8be")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Set External Links in Formula.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Set External Links in Formula.csproj new file mode 100644 index 000000000..ee6d03381 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Set External Links in Formula/Set External Links in Formula.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {04ED21C3-2867-4CD8-9471-FB3E40AF2129} + Exe + Properties + Set_External_Links_in_Formula_Aspose.Cells_ + Set External Links in Formula%28Aspose.Cells%29 + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Program.cs new file mode 100644 index 000000000..f5d249565 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Setting_Formula_Calculation_Mode_of_Workbook +{ + class Program + { + static void Main(string[] args) + { + //Create a workbook + Workbook workbook = new Workbook(); + + //Set the Formula Calculation Mode to Manual + workbook.Settings.CalcMode = CalcModeType.Manual; + + //Save the workbook + workbook.Save("output.xlsx", SaveFormat.Xlsx); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..6f7f7e8d8 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Setting Formula Calculation Mode of Workbook")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Setting Formula Calculation Mode of Workbook")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("924d7ca0-142f-4a9a-9687-132c06daec7c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Setting Formula Calculation Mode of Workbook.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Setting Formula Calculation Mode of Workbook.csproj new file mode 100644 index 000000000..5ee6464e0 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Formula Calculation Mode of Workbook/Setting Formula Calculation Mode of Workbook.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {1CD2753D-0026-4589-B184-F410D33F717A} + Exe + Properties + Setting_Formula_Calculation_Mode_of_Workbook + Setting Formula Calculation Mode of Workbook + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Program.cs new file mode 100644 index 000000000..8d516d2a2 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Program.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells; + +namespace Setting_Shared_Formula +{ + class Program + { + static void Main(string[] args) + { + string filePath = "source.xlsx"; + + //Instantiate a Workbook from existing file + Workbook workbook = new Workbook(filePath); + + //Get the cells collection in the first worksheet + Cells cells = workbook.Worksheets[0].Cells; + + //Apply the shared formula in the range i.e.., B2:B14 + cells["B2"].SetSharedFormula("=A2*0.09", 13, 1); + + //Save the excel file + workbook.Save(filePath + ".out.xlsx", SaveFormat.Xlsx); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d5a4a523e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Setting Shared Formula")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Setting Shared Formula")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("22500197-45ba-4d2e-beb9-ae8b9b1aba2b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Setting Shared Formula.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Setting Shared Formula.csproj new file mode 100644 index 000000000..3c6a4c80f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/Setting Shared Formula/Setting Shared Formula.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {8910DCC5-F536-46D8-AECA-4D0358EA4E68} + Exe + Properties + Setting_Shared_Formula + Setting Shared Formula + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\Program Files (x86)\Aspose\Aspose.Cells for .NET\Bin\net4.0\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Assemble Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Assemble Worksheet.csproj new file mode 100644 index 000000000..acc14fd8f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Assemble Worksheet.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {1C2DFB1B-E87F-4C70-B707-792F642332A8} + Exe + Properties + Assemble_Workshet + Assemble Workshet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Program.cs new file mode 100644 index 000000000..e0aca8aaf --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Program.cs @@ -0,0 +1,108 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Assemble_Workshet +{ + class Program + { + static void Main(string[] args) + { + AddingWorksheetToNewExcelFile(); + AddingWorksheetToDesignerSpreadsheet(); + AccesingWorsheetUsingSheetName(); + RemovingWorksheet(); + RemovingWorksheetUsingIndex(); + } + public static void AddingWorksheetToNewExcelFile() + { + string MyDir = @"Files\"; + //Instantiating a Workbook object + Workbook workbook = new Workbook(); + + //Adding a new worksheet to the Workbook object + int i = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[i]; + + //Setting the name of the newly added worksheet + worksheet.Name = "My Worksheet"; + + //Saving the Excel file + workbook.Save(MyDir + "Adding Worksheet.xls"); + } + public static void AddingWorksheetToDesignerSpreadsheet() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream("WorksHeet Operations.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Adding a new worksheet to the Workbook object + int i = workbook.Worksheets.Add(); + + //Obtaining the reference of the newly added worksheet by passing its sheet index + Worksheet worksheet = workbook.Worksheets[i]; + + //Setting the name of the newly added worksheet + worksheet.Name = "My Worksheet"; + + //Saving the Excel file + workbook.Save(MyDir + "Designer Spreadsheet.xls"); + + //Closing the file stream to free all resources + fstream.Close(); + } + public static void AccesingWorsheetUsingSheetName() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "WorksHeet Operations.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Accessing a worksheet using its sheet name + Worksheet worksheet = workbook.Worksheets["Sheet1"]; + } + public static void RemovingWorksheet() + { + string MyDir = @"=Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "WorksHeet Operations.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Removing a worksheet using its sheet name + workbook.Worksheets.RemoveAt("Sheet3"); + workbook.Save(MyDir + "WorksHeet Operations.xls"); + } + public static void RemovingWorksheetUsingIndex() + { + string MyDir = @"Files\"; + //Creating a file stream containing the Excel file to be opened + FileStream fstream = new FileStream(MyDir + "WorksHeet Operations.xls", FileMode.Open); + + //Instantiating a Workbook object + //Opening the Excel file through the file stream + Workbook workbook = new Workbook(fstream); + + //Removing a worksheet using its sheet index + workbook.Worksheets.RemoveAt(1); + workbook.Save(MyDir + "WorksHeet Operations.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..ac595b4be --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Assemble Workshet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Assemble Workshet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Assemble Workshet")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("93e2c55e-cea5-4998-a746-b2ef1e4d96c7")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Copy Sheet between Workbook.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Copy Sheet between Workbook.csproj new file mode 100644 index 000000000..118b75e90 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Copy Sheet between Workbook.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {FCFF81EA-733D-412A-ABCE-F817360144B2} + Exe + Properties + Sheet_btw_Workbok + Sheet btw Workbok + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Program.cs new file mode 100644 index 000000000..83cf0a845 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Program.cs @@ -0,0 +1,60 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Sheet_btw_Workbok +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Create a new Workbook. + Workbook excelWorkbook0 = new Workbook(); + + //Get the first worksheet in the book. + Worksheet ws0 = excelWorkbook0.Worksheets[0]; + + //Put some data into header rows (A1:A4) + for (int i = 0; i < 5; i++) + { + ws0.Cells[i, 0].PutValue(string.Format("Header Row {0}", i)); + } + + //Put some detail data (A5:A999) + for (int i = 5; i < 1000; i++) + { + ws0.Cells[i, 0].PutValue(string.Format("Detail Row {0}", i)); + } + + //Define a pagesetup object based on the first worksheet. + PageSetup pagesetup = ws0.PageSetup; + + //The first five rows are repeated in each page... + //It can be seen in print preview. + pagesetup.PrintTitleRows = "$1:$5"; + + //Create another Workbook. + Workbook excelWorkbook1 = new Workbook(); + + //Get the first worksheet in the book. + Worksheet ws1 = excelWorkbook1.Worksheets[0]; + + //Name the worksheet. + ws1.Name = "MySheet"; + + //Copy data from the first worksheet of the first workbook into the + //first worksheet of the second workbook. + ws1.Copy(ws0); + + //Save the excel file. + excelWorkbook1.Save(MyDir + "copyworksheet.xls"); + + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..1698f2f81 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Sheet between Workbook/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Sheet btw Workbok")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Sheet btw Workbok")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1f27ae24-82d9-4dc3-9461-1db48776e930")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Copy Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Copy Worksheet.csproj new file mode 100644 index 000000000..77a67b64d --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Copy Worksheet.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F} + Exe + Properties + Copy_Worksheet + Copy Worksheet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Program.cs new file mode 100644 index 000000000..dd66cce55 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Program.cs @@ -0,0 +1,33 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Copy_Worksheet +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Create a new Workbook. + //Open an existing Excel file. + Workbook wb = new Workbook(MyDir + "ResultedBook.xls"); + + //Create a Worksheets object with reference to + //the sheets of the Workbook. + WorksheetCollection sheets = wb.Worksheets; + + //Copy data to a new sheet from an existing + //sheet within the Workbook. + sheets.AddCopy("MySheet"); + + //Save the Excel file. + wb.Save(MyDir + "Copy Worksheet.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..bf92ab3d9 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy Worksheet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Copy Worksheet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Copy Worksheet")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e1c2142b-50af-4c53-8840-70f72fd8f1fd")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Copy between Workbooks.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Copy between Workbooks.csproj new file mode 100644 index 000000000..61cb24f3f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Copy between Workbooks.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {05C539F2-ED05-4114-B3EA-CC0520CC44EC} + Exe + Properties + Copy_btw_Workboks + Copy btw Workboks + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Program.cs new file mode 100644 index 000000000..b0d7f0cfd --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Program.cs @@ -0,0 +1,31 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Copy_btw_Workboks +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Create a Workbook. + //Open a file into the first book. + Workbook excelWorkbook0 = new Workbook(MyDir + "WorkBook Operations.xls"); + + //Create another Workbook. + Workbook excelWorkbook1 = new Workbook(); + + //Copy the first sheet of the first book into second book. + excelWorkbook1.Worksheets[0].Copy(excelWorkbook0.Worksheets[0]); + + //Save the file. + excelWorkbook1.Save(MyDir + "ResultedBook.xls"); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..e71334d80 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Copy between Workbooks/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Copy btw Workboks")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Copy btw Workboks")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("01492d44-50d1-42e3-8f33-8b71ed97577e")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.Designer.cs new file mode 100644 index 000000000..7c33abe81 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.Designer.cs @@ -0,0 +1,153 @@ +namespace Find_and_replace +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.BTN_SelectFile = new System.Windows.Forms.Button(); + this.LBL_SelectedFile = new System.Windows.Forms.Label(); + this.TXBX_Find = new System.Windows.Forms.TextBox(); + this.TXBX_Replace = new System.Windows.Forms.TextBox(); + this.BTN_Find = new System.Windows.Forms.Button(); + this.BTN_Replace = new System.Windows.Forms.Button(); + this.BTN_SaveFile = new System.Windows.Forms.Button(); + this.FOD_OpenFile = new System.Windows.Forms.OpenFileDialog(); + this.FSD_SaveFile = new System.Windows.Forms.SaveFileDialog(); + this.LBL_FindResults = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // BTN_SelectFile + // + this.BTN_SelectFile.Location = new System.Drawing.Point(12, 12); + this.BTN_SelectFile.Name = "BTN_SelectFile"; + this.BTN_SelectFile.Size = new System.Drawing.Size(75, 23); + this.BTN_SelectFile.TabIndex = 0; + this.BTN_SelectFile.Text = "Select File"; + this.BTN_SelectFile.UseVisualStyleBackColor = true; + this.BTN_SelectFile.Click += new System.EventHandler(this.BTN_SelectFile_Click); + // + // LBL_SelectedFile + // + this.LBL_SelectedFile.AutoSize = true; + this.LBL_SelectedFile.Location = new System.Drawing.Point(12, 38); + this.LBL_SelectedFile.Name = "LBL_SelectedFile"; + this.LBL_SelectedFile.Size = new System.Drawing.Size(68, 13); + this.LBL_SelectedFile.TabIndex = 1; + this.LBL_SelectedFile.Text = "Selected File"; + // + // TXBX_Find + // + this.TXBX_Find.Location = new System.Drawing.Point(12, 54); + this.TXBX_Find.Name = "TXBX_Find"; + this.TXBX_Find.Size = new System.Drawing.Size(180, 20); + this.TXBX_Find.TabIndex = 2; + // + // TXBX_Replace + // + this.TXBX_Replace.Location = new System.Drawing.Point(12, 80); + this.TXBX_Replace.Name = "TXBX_Replace"; + this.TXBX_Replace.Size = new System.Drawing.Size(180, 20); + this.TXBX_Replace.TabIndex = 3; + // + // BTN_Find + // + this.BTN_Find.Location = new System.Drawing.Point(207, 54); + this.BTN_Find.Name = "BTN_Find"; + this.BTN_Find.Size = new System.Drawing.Size(75, 23); + this.BTN_Find.TabIndex = 4; + this.BTN_Find.Text = "Find"; + this.BTN_Find.UseVisualStyleBackColor = true; + this.BTN_Find.Click += new System.EventHandler(this.BTN_Find_Click); + // + // BTN_Replace + // + this.BTN_Replace.Location = new System.Drawing.Point(207, 83); + this.BTN_Replace.Name = "BTN_Replace"; + this.BTN_Replace.Size = new System.Drawing.Size(75, 23); + this.BTN_Replace.TabIndex = 5; + this.BTN_Replace.Text = "Replace All"; + this.BTN_Replace.UseVisualStyleBackColor = true; + this.BTN_Replace.Click += new System.EventHandler(this.BTN_Replace_Click); + // + // BTN_SaveFile + // + this.BTN_SaveFile.Location = new System.Drawing.Point(12, 106); + this.BTN_SaveFile.Name = "BTN_SaveFile"; + this.BTN_SaveFile.Size = new System.Drawing.Size(75, 23); + this.BTN_SaveFile.TabIndex = 6; + this.BTN_SaveFile.Text = "Save File"; + this.BTN_SaveFile.UseVisualStyleBackColor = true; + this.BTN_SaveFile.Click += new System.EventHandler(this.BTN_SaveFile_Click); + // + // FOD_OpenFile + // + this.FOD_OpenFile.FileName = "openFileDialog1"; + // + // LBL_FindResults + // + this.LBL_FindResults.AutoSize = true; + this.LBL_FindResults.Location = new System.Drawing.Point(12, 132); + this.LBL_FindResults.Name = "LBL_FindResults"; + this.LBL_FindResults.Size = new System.Drawing.Size(65, 13); + this.LBL_FindResults.TabIndex = 7; + this.LBL_FindResults.Text = "Find Results"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(292, 207); + this.Controls.Add(this.LBL_FindResults); + this.Controls.Add(this.BTN_SaveFile); + this.Controls.Add(this.BTN_Replace); + this.Controls.Add(this.BTN_Find); + this.Controls.Add(this.TXBX_Replace); + this.Controls.Add(this.TXBX_Find); + this.Controls.Add(this.LBL_SelectedFile); + this.Controls.Add(this.BTN_SelectFile); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button BTN_SelectFile; + private System.Windows.Forms.Label LBL_SelectedFile; + private System.Windows.Forms.TextBox TXBX_Find; + private System.Windows.Forms.TextBox TXBX_Replace; + private System.Windows.Forms.Button BTN_Find; + private System.Windows.Forms.Button BTN_Replace; + private System.Windows.Forms.Button BTN_SaveFile; + private System.Windows.Forms.OpenFileDialog FOD_OpenFile; + private System.Windows.Forms.SaveFileDialog FSD_SaveFile; + private System.Windows.Forms.Label LBL_FindResults; + } +} + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.cs new file mode 100644 index 000000000..c6fcf6daf --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.cs @@ -0,0 +1,97 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Aspose.Cells; + +namespace Find_and_replace +{ + public partial class Form1 : Form + { + Workbook workbook; + public Form1() + { + InitializeComponent(); + } + + private void BTN_SelectFile_Click(object sender, EventArgs e) + { + DialogResult result = FOD_OpenFile.ShowDialog(); + if (result == DialogResult.OK) + { + LBL_SelectedFile.Text = FOD_OpenFile.FileName; + } + } + + private void BTN_Find_Click(object sender, EventArgs e) + { + if (TXBX_Find.Text != "") + { + workbook = new Workbook(FOD_OpenFile.FileName); + FindOptions Opts = new FindOptions(); + Opts.LookInType = LookInType.Values; + Opts.LookAtType = LookAtType.Contains; + string found = ""; + Cell cell = null; + foreach (Worksheet sheet in workbook.Worksheets) + { + found += Environment.NewLine + "Sheet: " + sheet.Name + ":"; + do + { + cell = sheet.Cells.Find(TXBX_Find.Text, cell, Opts); + if (cell != null) + found += cell.Name + ","; + } + while (cell != null); + } + LBL_FindResults.Text = found; + } + } + + private void BTN_Replace_Click(object sender, EventArgs e) + { + if (TXBX_Find.Text != "" && TXBX_Replace.Text!="") + { + workbook = new Workbook(FOD_OpenFile.FileName); + FindOptions Opts = new FindOptions(); + Opts.LookInType = LookInType.Values; + Opts.LookAtType = LookAtType.Contains; + string found = ""; + Cell cell = null; + foreach (Worksheet sheet in workbook.Worksheets) + { + do + { + cell = sheet.Cells.Find(TXBX_Find.Text, cell, Opts); + if (cell != null) + { + string celltext = cell.Value.ToString(); + celltext = celltext.Replace(TXBX_Find.Text, TXBX_Replace.Text); + cell.PutValue(celltext); + } + } + while (cell != null); + } + LBL_FindResults.Text = "Replaced All Existing Values, Save the file now"; + } + } + + private void BTN_SaveFile_Click(object sender, EventArgs e) + { + FSD_SaveFile.DefaultExt = ".xlsx"; + FSD_SaveFile.FileName="Updated find and replace"; + DialogResult result = FSD_SaveFile.ShowDialog(); + if (result == DialogResult.OK) + { + workbook.Save(FSD_SaveFile.FileName,SaveFormat.Xlsx); + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.csproj new file mode 100644 index 000000000..9add6ae3d --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {46AB7958-9E33-4B54-A029-A71A3A3FA877} + WinExe + Properties + Find_and_replace + Find and replace + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\aspose-for-vsto\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + Form + + + Find and replace.cs + + + + + Find and replace.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.resx new file mode 100644 index 000000000..ac7d66de7 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Find and replace.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 157, 17 + + + 25 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Program.cs new file mode 100644 index 000000000..ead23c43f --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Program.cs @@ -0,0 +1,24 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Find_and_replace +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..55178b46e --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Find and replace")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Find and replace")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c77e890a-1232-45b5-8328-3d800e8afb06")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.Designer.cs new file mode 100644 index 000000000..74b0f8768 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Find_and_replace.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Find_and_replace.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.resx b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.Designer.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.Designer.cs new file mode 100644 index 000000000..90728f291 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17929 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Find_and_replace.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.settings b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.settings new file mode 100644 index 000000000..39645652a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Find and replace/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/App.config b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/App.config new file mode 100644 index 000000000..8e1564635 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Move Worksheet.csproj b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Move Worksheet.csproj new file mode 100644 index 000000000..219315036 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Move Worksheet.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {6585F17B-2462-4E25-A3BE-AEC6CB21016E} + Exe + Properties + Move_Worksheet + Move Worksheet + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\Dlls\Aspose.Cells.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Program.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Program.cs new file mode 100644 index 000000000..eebc06634 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Program.cs @@ -0,0 +1,36 @@ +// Copyright (c) Aspose 2002-2014. All Rights Reserved. + +using Aspose.Cells; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Move_Worksheet +{ + class Program + { + static void Main(string[] args) + { + string MyDir = @"Files\"; + //Create a new Workbook. + //Open an existing excel file. + Workbook wb = new Workbook(MyDir + "WorkBook Operations.xls"); + + //Create a Worksheets object with reference to + //the sheets of the Workbook. + WorksheetCollection sheets = wb.Worksheets; + + //Get the first worksheet. + Worksheet worksheet = sheets[0]; + string test = worksheet.Name; + //Move the first sheet to the third position in the workbook. + worksheet.MoveTo(2); + + //Save the excel file. + wb.Save(MyDir + "Move worksheets within workbook.xls"); + + } + } +} diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Properties/AssemblyInfo.cs b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..45ae6fc26 --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/Move Worksheet/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Move Worksheet")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Move Worksheet")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c18db466-d428-4368-ac39-de0d92e831c8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/programming with a workbook object model.sln b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/programming with a workbook object model.sln new file mode 100644 index 000000000..a7e3b003a --- /dev/null +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/OpenXML Missing Features/programming with a workbook object model/programming with a workbook object model.sln @@ -0,0 +1,58 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Find and replace", "Find and replace\Find and replace.csproj", "{46AB7958-9E33-4B54-A029-A71A3A3FA877}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assemble Worksheet", "Assemble Workshet\Assemble Worksheet.csproj", "{1C2DFB1B-E87F-4C70-B707-792F642332A8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Copying and Moving Worksheet", "Copying and Moving Worksheet", "{E7D10F50-2EC7-4880-9F63-8BBE679804A2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Copy Worksheet", "Copy Worksheet\Copy Worksheet.csproj", "{8737BBCF-D180-43A8-BEAE-E45AE2F2593F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Copy between Workbooks", "Copy btw Workboks\Copy between Workbooks.csproj", "{05C539F2-ED05-4114-B3EA-CC0520CC44EC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Copy Sheet between Workbook", "Sheet btw Workbok\Copy Sheet between Workbook.csproj", "{FCFF81EA-733D-412A-ABCE-F817360144B2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Move Worksheet", "Move Worksheet\Move Worksheet.csproj", "{6585F17B-2462-4E25-A3BE-AEC6CB21016E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {46AB7958-9E33-4B54-A029-A71A3A3FA877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {46AB7958-9E33-4B54-A029-A71A3A3FA877}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46AB7958-9E33-4B54-A029-A71A3A3FA877}.Release|Any CPU.ActiveCfg = Release|Any CPU + {46AB7958-9E33-4B54-A029-A71A3A3FA877}.Release|Any CPU.Build.0 = Release|Any CPU + {1C2DFB1B-E87F-4C70-B707-792F642332A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C2DFB1B-E87F-4C70-B707-792F642332A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C2DFB1B-E87F-4C70-B707-792F642332A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C2DFB1B-E87F-4C70-B707-792F642332A8}.Release|Any CPU.Build.0 = Release|Any CPU + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F}.Release|Any CPU.Build.0 = Release|Any CPU + {05C539F2-ED05-4114-B3EA-CC0520CC44EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {05C539F2-ED05-4114-B3EA-CC0520CC44EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {05C539F2-ED05-4114-B3EA-CC0520CC44EC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {05C539F2-ED05-4114-B3EA-CC0520CC44EC}.Release|Any CPU.Build.0 = Release|Any CPU + {FCFF81EA-733D-412A-ABCE-F817360144B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FCFF81EA-733D-412A-ABCE-F817360144B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FCFF81EA-733D-412A-ABCE-F817360144B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FCFF81EA-733D-412A-ABCE-F817360144B2}.Release|Any CPU.Build.0 = Release|Any CPU + {6585F17B-2462-4E25-A3BE-AEC6CB21016E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6585F17B-2462-4E25-A3BE-AEC6CB21016E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6585F17B-2462-4E25-A3BE-AEC6CB21016E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6585F17B-2462-4E25-A3BE-AEC6CB21016E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {8737BBCF-D180-43A8-BEAE-E45AE2F2593F} = {E7D10F50-2EC7-4880-9F63-8BBE679804A2} + {05C539F2-ED05-4114-B3EA-CC0520CC44EC} = {E7D10F50-2EC7-4880-9F63-8BBE679804A2} + {FCFF81EA-733D-412A-ABCE-F817360144B2} = {E7D10F50-2EC7-4880-9F63-8BBE679804A2} + {6585F17B-2462-4E25-A3BE-AEC6CB21016E} = {E7D10F50-2EC7-4880-9F63-8BBE679804A2} + EndGlobalSection +EndGlobal diff --git a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/README.md b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/README.md index f0ed4d914..c04f639d8 100644 --- a/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/README.md +++ b/Plugins/Aspose.Cells Vs OpenXML Spreadsheets/README.md @@ -2,3 +2,4 @@ This section contains the following sections * [Code Comparison of Common Features](Code Comparison of Common Features) +* [Missing Features of OpenXML Spreadsheets Provided by Aspose.Cells](OpenXML Missing Features)