Tutorial_2CS_CSharp.ja - OpenTouryoProject/OpenTouryo GitHub Wiki
2014幎11æ27æ¥
æ¬ãã¥ãŒããªã¢ã«ã§ã®æŒç¿ã«æ²¿ã£ãŠãµã³ãã«ããã°ã©ã ãéçºããããšã§ãOpen æ£æ¢ãçšããå Žåã®éçºã®æµãã»ã¯ã©ã¹ã®äœææ¹æ³ã»åçš®å®çŸ©ãã¡ã€ã«ã®äœææ¹æ³ã»ããŒã«ã®äœ¿çšæ¹æ³ã»å®è¡çµæã®ç¢ºèªæ¹æ³çãç¿åŸããããšãç®çãšããŠããŸãã
Open æ£æ¢ãçšãã 2 å±€ C/S ã¢ããªã±ãŒã·ã§ã³éçºãæ€èšããŠãã SEã»éçºè
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ãOpen æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ (Visual Studio 2015 çš) ã«ä»å±ã®ãµã³ãã«ããã°ã©ã ãé¡æãšããOpen æ£æ¢ãçšããå Žåã®éçºã®æµãããé ãè¿œã£ãŠèª¬æããŸãã
æ¬ããã¥ã¡ã³ãã«èšèŒã®äŒç€Ÿåã»åååã¯ãå瀟ã®åæšãŸãã¯ç»é²åæšã§ãã
æ¬ããã¥ã¡ã³ãã¯ãã¯ãªãšã€ãã£ãã»ã³ã¢ã³ãº CC BY 2.1 JP ã©ã€ã»ã³ã¹ã®äžã§å©çšå¯èœã§ãã
3. æ¬ãã¥ãŒããªã¢ã«ã§ã®æŒç¿èª²é¡ã«ã€ããŠ
Open æ£æ¢ã¯ã.NET çšã®ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã§ããOpen æ£æ¢ã¯ã.NET Framework 4.6 以äžã察象ã«ãC/S(Windows Forms, WPF)ãWeb(ASP.NET)ãRIA(Silverlight) ãªã©ãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã§å©çšã§ããŸãã
Openæ£æ¢ã®ã¯ã©ã¹æ§æå³ãå³ 1-1 ã«ç€ºããŸãã

å³ 1-1ãOpenæ£æ¢ã®ã¯ã©ã¹æ§æå³
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ãå³ 1-1 ã®ã¯ã©ã¹æ§æå³ã«åŸããéçºè ãå®è£ ããç»é¢ã¯ã©ã¹ã»æ¥åããžãã¯ã¯ã©ã¹ã»DB ã¢ã¯ã»ã¹ã¯ã©ã¹ã®äœææ¹æ³ããé ãè¿œã£ãŠèª¬æããŸãã
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ã以äžã®ç°å¢ãåæãšããŠããŸãã
- éçºç°å¢
- IDE
- Visual Studio 2015 (Express Edition ãå©çšã§ããŸã)
- ã¢ããªã±ãŒã·ã§ã³ ãã¬ãŒã ã¯ãŒã¯
- Open æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ (Visual Studio 2015 çš)
- IDE
- å®è¡ç°å¢
- ã©ã³ã¿ã€ã
- .NET Framework 4.6
- DB
- SQL Server Express 2008 R2
- ã©ã³ã¿ã€ã
- ãã®ä»
- OS
- Windows 7
- éçºèšèª
- C#
- OS
ãããããããã€ã¯ããœããã®ãµã€ããªã©ãåèã«ãVisual Studio ãã€ã³ã¹ããŒã«ããŠãããŠãã ããã
次ã«ãOpen æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ãããŒã¿ããŒã¹ãã»ããã¢ããããŸãã
-
GitHub 㧠[Download ZIP] ãã¿ã³ãæŒäžã㊠OpenTouryoTemplates.zip ãå ¥æããããã解åã㊠Open æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ (Visual Studio 2015 çš) ãååŸããŸãã
-
root_VS2015 ãã©ã«ãã«ãã Readme.md ã®æé ã«åŸã£ãŠãOpen æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ãšãµã³ãã«ããŒã¿ããŒã¹ã®ã»ããã¢ãããè¡ããŸãã
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ãOpen æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ã«ä»å±ã®ãµã³ãã«ããã°ã©ã ã«ãç»é¢ã»ããžãã¯ãè¿œå ãã圢ã§æŒç¿ãè¡ã£ãŠãããŸãããµã³ãã«ããã°ã©ã ã®æ§æãå³ 3-1 ã«ããã¥ãŒããªã¢ã«ã®ç»é¢é·ç§»å³ãå³ 3-2 ã«ç€ºããŸãã

å³ 3-1ããµã³ãã«ããã°ã©ã ã®æ§æ
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ãDB ã¢ã¯ã»ã¹ã¯ã©ã¹ (DAO: Data Access Object) ãšããŠã以äžã«ç€ºã 3 çš®é¡ã®ã¯ã©ã¹ãäœæããŸããåã¯ã©ã¹ã®è©³çŽ°ã«ã€ããŠã¯ãOpen æ£æ¢ã®å©çšã¬ã€ãïŒãã¿ãŒãŠãŒã¹ãFAQ ç·šïŒãã芧ãã ããã
DB ã¢ã¯ã»ã¹ã¯ã©ã¹ | 説æ |
---|---|
èªåçæ DAO | Open æ£æ¢ä»å±ã® D å±€èªåçæããŒã«ã«ããçæãã DAO ã¯ã©ã¹ãããŒãã«ã»ãã¥ãŒã«å¯ŸããåçŽãª CRUD åŠçãè¡ãå Žåã«å©çšããã |
å ±é DAO | Open æ£æ¢æäŸã® DAO ã¯ã©ã¹ãè€æ°ããŒãã«ãçµåããçµæãååŸããå Žåãªã©ãD å±€èªåçæããŒã«ã§èªåçæã§ããªãåŠçãè¡ãå Žåã«å©çšããã |
DAO éçŽã¯ã©ã¹ | D å±€éšåã®ãã¡ãµãŒãã¯ã©ã¹ã1 ãã©ã³ã¶ã¯ã·ã§ã³ã§è€æ° DAO ã¯ã©ã¹ãå©çšããå Žåã«ãB å±€ããã®ãªã¯ãšã¹ããéçŽãããå Žåã«å©çšããã |

å³ 3-2ããµã³ãã«ããã°ã©ã ã®ç»é¢é·ç§»å³
Open æ£æ¢ãçšããéçºã®æµãããé ãè¿œã£ãŠèª¬æããŸãã
-
C:\root\programs\C#\Samples\2CS_sample\2CSClientWin_sample\2CSClientWin_sample.sln
ãéããŸãã -
Visual Studio ãèµ·åããOpen æ£æ¢ãã³ãã¬ãŒãã»ããŒã¹ïŒVisual Studio 2015 çšïŒã«ä»å±ã®ãµã³ãã«ããã°ã©ã ãéãããŠããããšã確èªããŠãã ããã
-
Visual Studio ã®ããŒã«ããŒãããããããžã§ã¯ã(P)ã-ãWindows ãã©ãŒã ã®è¿œå (F)ããéžæããŸãã
-
OrdersForm.cs
ãšããååã®ãæ°ãã Windows ãã©ãŒã ãè¿œå ããŸãã -
OrdersForm.cs
ã«ã以äžã®å³ã®ããã« Button ã³ã³ãããŒã«ãš DataGridView ã³ã³ãããŒã«ãè¿œå ããŸããè¿œå ãã Button ãš DataGridView ã«ã¯ããããã以äžã®ããã«ããããã£ãèšå®ããŸãã
- Button
- Name: btnShowOrderDetail
- Text: 泚ææ å ±ã®è©³çŽ°ã衚瀺ãã
- DataGridView
- AllowUserToAddRows: false
- AllowUserToDeleteRows: false
ã泚æãã³ã³ãããŒã«åã®ãã¬ãã£ãã¯ã¹ (âbtnâ ãªã©) ãé©åã«èšå®ããªããšãOpen æ£æ¢ããã³ã³ãããŒã«ãæ£ããèªèãããŸããã(詳ãã㯠Open æ£æ¢ã®å©çšã¬ã€ã (çºãè ç·š) ãã芧ãã ãã)
- Button
-
4.2.1 é ãšåãããã«ã泚æã®è©³çŽ°æ å ±ã衚瀺ãã Windows ãã©ãŒã ãäœæããŸããããã§ã¯ããã©ãŒã ã®ååã¯
OrderDetailsForm.cs
ãšããŠãã ããã -
OrderDetailsForm.cs
ã«ã以äžã®å³ã®ããã« Label ã³ã³ãããŒã«ã 2 ã€ãDataGridView ã³ã³ãããŒã«ã 2 ã€ãButton ã³ã³ãããŒã«ã 1 ã€è¿œå ããŸããè¿œå ããã³ã³ãããŒã«ã«ã¯ããããã以äžã®ããã«ããããã£ãèšå®ããŸãã
- Label (äžéš)
- Text: 泚ææ å ± (ãµããª)
- Label (äžéš)
- Text: 泚ææ å ± (æ现)
- Button
- Name: btnUpdateOrder
- Text: ä¿®æ£å 容ãåæ
- DataGridView (2 ã€ãšã)
- AllowUserToAddRows: false
- AllowUserToDeleteRows: false
- Label (äžéš)
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§
Common
ãã©ã«ããéžæããããŒã«ããŒã®ããããžã§ã¯ã(P)ã-ãã¯ã©ã¹ã®è¿œå (C)ããéžæããŸãã -
OrderParameterValue.cs
ãšããååã®ã¯ã©ã¹ãè¿œå ããŸãã -
以äžã®ã³ãŒãã
OrderParameterValue.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãã€ã³ããŒãããŸããusing Touryo.Infrastructure.Business.Util; using Touryo.Infrastructure.Business.Common;
-
OrderParameterValue
ã¯ã©ã¹ã®å®£èšéšåã以äžã®ããã«ä¿®æ£ããOpen æ£æ¢ã®ãåŒæ°èŠªã¯ã©ã¹ 2ããç¶æ¿ãããŸããpublic class OrderParameterValue : MyParameterValue
-
OrderParameterValue
ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã以äžã®ããã«ä¿®æ£ããŸããpublic OrderParameterValue(string screenId, string controlId, string methodName, string actionType, MyUserInfo user) : base(screenId, controlId, methodName, actionType, user) { }
-
ç»é¢ããæ¥åããžãã¯ã«æž¡ãå€ãšããŠã
OrderParameterValue
ã¯ã©ã¹ã«ä»¥äžã®ãã£ãŒã«ããè¿œå ããŸãã/// <summary>泚æ ID</summary> public string OrderId; /// <summary>泚ææ å ±ïŒãµããªïŒ</summary> public System.Data.DataTable Orders; /// <summary>泚ææ å ±ïŒæ现ïŒ</summary> public System.Data.DataTable OrderDetails;
-
4.3.1 é ãšåãããã«ã
Common
ãã©ã«ãã«ãOrderReturnValue.cs
ãšããååã®ã¯ã©ã¹ãè¿œå ããŸãã -
以äžã®ã³ãŒãã
OrderReturnValue.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãã€ã³ããŒãããŸããusing Touryo.Infrastructure.Business.Common;
-
OrderReturnValue
ã¯ã©ã¹ã®å®£èšéšåã以äžã®ããã«ä¿®æ£ããOpen æ£æ¢ã®ãæ»ãå€èŠªã¯ã©ã¹ 2ããç¶æ¿ãããŸããpublic class OrderReturnValue : MyReturnValue
-
ç»é¢ã«è¿ãå€ãšããŠã
OrderReturnValue
ã¯ã©ã¹ã«ä»¥äžã®ãã£ãŒã«ããè¿œå ããŸãã/// <summary>泚ææ å ±ïŒãµããªïŒ</summary> public System.Data.DataTable Orders; /// <summary>泚ææ å ±ïŒæ现ïŒ</summary> public System.Data.DataTable OrderDetails;
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒããã
Program.cs
ãã¡ã€ã«ãéããŸãã -
以äžã®ã³ãŒãã
Program.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãã€ã³ããŒãããŸããusing Touryo.Infrastructure.Framework.RichClient.Business;
-
ãµã³ãã«ããã°ã©ã ã§ã¯ãå ±éäŸå€ãã³ãã©ãšããŠ
Application_ThreadException
ã¡ãœãããçšæãããŠããŸããããã«ãå ±éäŸå€åŠçãšããŠãããŒã¿ããŒã¹ ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ããåŠçãè¿œèšããŸããpublic static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) { // DB ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ãã (DB ã«æ¥ç¶ããŠããªãå Žåã¯äœãããªã) BaseLogic2CS.RollbackAndClose(); ShowErrorMessage(e.Exception, "Application_ThreadExceptionã«ããäŸå€éç¥ã§ãã"); }
ããŒãã«ã»ãã¥ãŒã«å¯ŸããåçŽãª CRUD åŠçãè¡ãããŒã¿ã¢ã¯ã»ã¹ã¯ã©ã¹ãSQL ãã¡ã€ã«ã«ã€ããŠã¯ãOpen æ£æ¢ä»å±ã® D å±€èªåçæããŒã«ã§èªåçæãå¯èœã§ãã
-
C:\root\programs\C#\Frameworks\DaoGen_Tool\bin\Debug\DaoGen_Tool.exe
ãå®è¡ããD å±€èªåçæããŒã«ãèµ·åããŸãã -
以äžã®ããã«å€ãèšå®ãããååŸããã¿ã³ãã¯ãªãã¯ããŸãã
- ããŒã¿ãããã€ã: SQL Server Client
- æ¥ç¶æåå: Data Source=localhost\SQLExpress;Initial Catalog=Northwind;Integrated Security=true;
- ãã«ããŠã³: æŠèŠæ å ±
-
æ¥ç¶æååçã®æ å ±ã«èª€ãããªããã°ããDBMSã®ã¹ããŒãæ å ±ã®è¡šç€ºïŒæŠèŠæ å ±ïŒãã€ã¢ãã°ãã衚瀺ãããŸãã
æ¬ãã€ã¢ãã°ã衚瀺ãããããšã確èªãããéããããã¿ã³ãã¯ãªãã¯ããŠããã€ã¢ãã°ãéããŸãã
-
ãããŒãã«äžèŠ§ã®ååŸããã¿ã³ãã¯ãªãã¯ããŸãã
ããŒãã«å称ã«é¢ãã泚æãä¿ããã€ã¢ãã°ã衚瀺ãããŸããããOKããã¿ã³ãã¯ãªãã¯ããŠéããŠãã ããã
-
Northwind ããŒã¿ããŒã¹å ã®ããŒãã«ïŒãã¥ãŒããªã¹ãã«è¡šç€ºãããŸããæ¬ãã¥ãŒããªã¢ã«ã§ã¯ Orders ããŒãã«ãš Order Details ããŒãã«ã®ã¿äœ¿çšããŸãã®ã§ãOrders ããŒãã«ãOrder Details ããŒãã«ä»¥å€ãéžæããŠããåé€ããã¿ã³ãã¯ãªãã¯ããŸãã
-
ãªã¹ãå ã®é ç®ããOrders ããŒãã«ãš Order Details ããŒãã«ã®ã¿ã«ãªã£ãããšã確èªãããããŒãããã¿ã³ãã¯ãªãã¯ããŸãã
-
ãDå±€å®çŸ©æ å ±ãçæããã¿ã³ã掻æ§åãããŸãã®ã§ãåºåãšã³ã³ãŒãã£ã³ã°ãšããŠãutf-8ããéžæãããDå±€å®çŸ©æ å ±ãçæããã¿ã³ãã¯ãªãã¯ããŸãã
D å±€å®çŸ©æ å ±ãã¡ã€ã«ã®ä¿åãã€ã¢ãã°ã衚瀺ãããŸãã®ã§ã
C:\root\Info.csv
ã«ãã¡ã€ã«ãä¿åããŸãã -
D å±€å®çŸ©æ å ±ãã¡ã€ã«ãæ£åžžã«çæã§ããããšã瀺ããã€ã¢ãã°ã衚瀺ãããŸãã®ã§ããOKããã¿ã³ãã¯ãªãã¯ããŠéããŸãã
-
ãSTEP2ãžé·ç§»ããã¿ã³ãã¯ãªãã¯ããŸãã
-
ãã¹ããã2ãç»é¢ã衚瀺ãããŸãã®ã§ã以äžã®ããã«å€ãèšå®ãããããã°ã©ã ãçæããããã¿ã³ãã¯ãªãã¯ããŸãã
- D å±€å®çŸ©æ å ±ãã¡ã€ã«: C:\root\Info.csv
- ãœãŒã¹ãã³ãã¬ãŒããã©ã«ã: C:\root\files\tools\DGenTemplates
- åºåãã¡ã€ã«: C:\root
- äžèšä»¥å€ã¯ããã©ã«ãã®ãŸãŸ
-
DaoãSQL ãã¡ã€ã«ãæ£åžžã«çæã§ããããšã瀺ããã€ã¢ãã°ã衚瀺ãããŸãã®ã§ããOKããã¿ã³ãã¯ãªãã¯ããŠéããŸãã
-
C:\root
ãã©ã«ã以äžã«ãDao ãã¡ã€ã«ãSQL ãã¡ã€ã«ãçæãããŠããããšã確èªããŸããã泚æãOpen æ£æ¢ã§ã¯ãSQL ãã¡ã€ã«ãšããŠãæ¡åŒµåã
.sql
ã®ãã¡ã€ã«ãšã.xml
ã®ãã¡ã€ã«ããããŸããïŒè©³ãã㯠Open æ£æ¢ã®èª¬ææžãã芧ãã ããïŒ -
èªåçæãã Dao ã¯ã©ã¹ããµã³ãã«ããã°ã©ã ã«å«ãããããVisual Studio ã§ãµã³ãã«ããã°ã©ã ãéãã
Dao
ãã©ã«ããéžæããããŒã«ããŒã®ããããžã§ã¯ã(P)ã-ãæ¢åã®é ç®ã®è¿œå (G)ããéžæããŸãã -
æ¢åé ç®ã®è¿œå ãã€ã¢ãã°ã§ã
C:\root\DaoOrders.cs
ãšC:\root\DaoOrder_Details.cs
ãã¡ã€ã«ãéžæãããè¿œå (A)ããã¿ã³ãã¯ãªãã¯ããŸãã -
C:\root
ãã©ã«ãçŽäžã«çæããã SQLãã¡ã€ã«ã»XMLãã¡ã€ã«ããC:\root\files\resource\Sql
ãã©ã«ãã«ç§»åããŸãã -
D å±€èªåçæããŒã«ãçµäºããŸãã
D å±€èªåçæããŒã«ã§ã¯ãåçŽãª CRUD åŠçãè¡ã Dao ã¯ã©ã¹ã SQL ãã¡ã€ã«ãçæã§ããŸããããããè€æ°ã®ããŒãã«ãçµå (JOIN) ããã SQL ãªã©ãåçŽãª CRUD åŠçã§ã¯ãªã SQL ã¯ãåå¥ã«äœæããå¿ èŠããããŸãã
-
C:\root\files\resource\Sql
ãã©ã«ãã«ãSelectOrders.sql
ãã¡ã€ã«ãäœæããŸãã -
SelectOrders.sql
ã«ã以äžã® SQL æãèšè¿°ããŸããSELECT Orders.OrderID, Customers.CompanyName, Customers.ContactName, Employees.LastName As EmployeeLastName, Employees.FirstName As EmployeeFirstName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
æ¬ãã¥ãŒããªã¢ã«ã§ã¯ã以äžã® 3 ã€ã® Dao ã¯ã©ã¹ã䜿çšããŸãã
- DaoOrders
- Orders ããŒãã«ãžã®ã¢ã¯ã»ã¹çš
- DaoOrder_Details
- Order Details ããŒãã«ãžã®ã¢ã¯ã»ã¹çš
- CmnDao (Open æ£æ¢ã®å
±é Dao)
- 4.5.2 é ã§äœæãã SQL ãã¡ã€ã«ã䜿çšããã¢ã¯ã»ã¹çš
ãããã® Dao ã¯ã©ã¹ã®åŒã³åºããå¶åŸ¡ããæ¥åããžãã¯ã¯ã©ã¹ (B å±€ã¯ã©ã¹) ã«å¯Ÿããçªå£ (ãã¡ãµãŒã) ãšãªããDAO éçŽã¯ã©ã¹ãäœæããŸãã
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ã
Dao
ãã©ã«ããéžæããããŒã«ããŒã®ããããžã§ã¯ã(P)ã-ãã¯ã©ã¹ã®è¿œå (C)ããéžæããŸãã -
ConsolidatedLayerD.cs
ãšããååã®ã¯ã©ã¹ãè¿œå ããŸãã -
以äžã®ã³ãŒãã
ConsolidatedLayerD.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãããã³ 4.3 ç¯ã§äœæããåŒæ°ã»æ»ãå€ã¯ã©ã¹ãã€ã³ããŒãããŸãã// Openæ£æ¢ using Touryo.Infrastructure.Business.Dao; using Touryo.Infrastructure.Public.Db; // åŒæ°ã»æ»ãå€ã¯ã©ã¹ using _2CSClientWin_sample.Common;
-
ConsolidatedLayerD
ã¯ã©ã¹ã®å®£èšéšåã以äžã®ããã«ä¿®æ£ããOpen æ£æ¢ã®ãDAO éçŽèŠªã¯ã©ã¹ããç¶æ¿ãããŸããpublic class ConsolidatedLayerD : BaseConsolidateDao
-
ConsolidatedLayerD
ã¯ã©ã¹ã«ã以äžã®ããã«ã³ã³ã¹ãã©ã¯ã¿ãäœæããŸããpublic ConsolidatedLayerD(BaseDam dam) : base(dam) { }
-
ConsolidatedLayerD
ã¯ã©ã¹ã«ã泚ææ å ±äžèŠ§ãååŸããGetOrders
ã¡ãœãããäœæããŸããpublic OrderReturnValue GetOrders(OrderParameterValue orderParameter) { // æ»ãå€ã¯ã©ã¹ãäœæãã OrderReturnValue returnValue = new OrderReturnValue(); // å ±é DAO ãäœæãã (SQL ãã¡ã€ã«ãšããŠã4.5.2 é ã§äœæãããã¡ã€ã«ã䜿çšãã) CmnDao dao = new CmnDao(this.Dam); dao.SQLFileName = "SelectOrders.sql"; // çµææ ŒçŽçšã® DataTable System.Data.DataTable table = new System.Data.DataTable(); // DB ãã泚ææ å ±äžèŠ§ãååŸããDataTable ã«æ ŒçŽãã dao.ExecSelectFill_DT(table); // æ»ãå€ã¯ã©ã¹ã«æ³šææ å ±äžèŠ§ãæ ŒçŽããB å±€ã¯ã©ã¹ã«è¿ã returnValue.Orders = table; return returnValue; }
-
åæ§ã«ã泚æ ID ãããšã«ã泚ææ å ±ã®è©³çŽ°ãååŸãã
GetOrderById
ã¡ãœãããäœæããŸããpublic OrderReturnValue GetOrderById(OrderParameterValue orderParameter) { // æ»ãå€ã¯ã©ã¹ãäœæãã OrderReturnValue returnValue = new OrderReturnValue(); // èªåçæãã D å±€ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãçæãã DaoOrders orderDao = new DaoOrders(this.Dam); DaoOrder_Details orderDetailsDao = new DaoOrder_Details(this.Dam); // 泚ææ å ±ã泚æ詳现æ å ±ãæ ŒçŽããããã® DataTable System.Data.DataTable orderTable = new System.Data.DataTable(); System.Data.DataTable orderDetailsTable = new System.Data.DataTable(); // ãã©ã¡ãŒã¿ãèšå®ãã orderDao.PK_OrderID = orderParameter.OrderId; orderDetailsDao.PK_OrderID = orderParameter.OrderId; // 泚æ ID ãããšã«æ³šææ å ±ãæ€çŽ¢ãã orderDao.D2_Select(orderTable); orderDetailsDao.D2_Select(orderDetailsTable); // æ»ãå€ã¯ã©ã¹ã«çµæã»ãããæ ŒçŽããB å±€ã¯ã©ã¹ã«è¿ã returnValue.Orders = orderTable; returnValue.OrderDetails = orderDetailsTable; return returnValue; }
-
åæ§ã«ãç»é¢ã§å ¥åãã泚ææ å ±ã DB ã«åæ ãã
UpdateOrder
ã¡ãœãããäœæããŸããpublic OrderReturnValue UpdateOrder(OrderParameterValue orderParameter) { // æ»ãå€ã¯ã©ã¹ãäœæãã OrderReturnValue returnValue = new OrderReturnValue(); // èªåçæãã D å±€ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãçæãã DaoOrders orderDao = new DaoOrders(this.Dam); DaoOrder_Details orderDetailsDao = new DaoOrder_Details(this.Dam); // 泚ææ å ±ã泚æ詳现æ å ±ãæ ŒçŽããããã® DataTable System.Data.DataTable orderTable = orderParameter.Orders; System.Data.DataTable orderDetailsTable = orderParameter.OrderDetails; // ã¬ã³ãŒãã®ç¶æ ã確èªããä¿®æ£ãããŠããã DB ãæŽæ°ãã if (orderTable.Rows[0].RowState == System.Data.DataRowState.Modified) { // 泚ææ å ±ïŒãµããªïŒæŽæ°çšã®ãã¿ã¡ãŒã¿ãèšå®ãã orderDao.PK_OrderID = orderTable.Rows[0]["OrderId"]; orderDao.Set_OrderDate_forUPD = orderTable.Rows[0]["OrderDate"]; orderDao.Set_RequiredDate_forUPD = orderTable.Rows[0]["RequiredDate"]; orderDao.Set_ShippedDate_forUPD = orderTable.Rows[0]["ShippedDate"]; orderDao.Set_ShipVia_forUPD = orderTable.Rows[0]["ShipVia"]; orderDao.Set_Freight_forUPD = orderTable.Rows[0]["Freight"]; orderDao.Set_ShipName_forUPD = orderTable.Rows[0]["ShipName"]; orderDao.Set_ShipAddress_forUPD = orderTable.Rows[0]["ShipAddress"]; orderDao.Set_ShipCity_forUPD = orderTable.Rows[0]["ShipCity"]; orderDao.Set_ShipRegion_forUPD = orderTable.Rows[0]["ShipRegion"]; orderDao.Set_ShipPostalCode_forUPD = orderTable.Rows[0]["ShipPostalCode"]; orderDao.Set_ShipCountry_forUPD = orderTable.Rows[0]["ShipCountry"]; // 泚ææ å ±ïŒãµããªïŒãæŽæ°ãã orderDao.D3_Update(); } foreach (System.Data.DataRow row in orderDetailsTable.Rows) { // ã¬ã³ãŒãã®ç¶æ ã確èªããä¿®æ£ãããŠããã DB ãæŽæ°ãã if (row.RowState == System.Data.DataRowState.Modified) { // 泚ææ å ±ïŒæ现ïŒæŽæ°çšã®ãã©ã¡ãŒã¿ãèšå®ãã orderDetailsDao.PK_OrderID = row["OrderId"]; orderDetailsDao.PK_ProductID = row["ProductId"]; orderDetailsDao.Set_UnitPrice_forUPD = row["UnitPrice"]; orderDetailsDao.Set_Quantity_forUPD = row["Quantity"]; orderDetailsDao.Set_Discount_forUPD = row["Discount"]; // 泚ææ å ±ïŒæ现ïŒãæŽæ°ãã orderDetailsDao.D3_Update(); } } // æ»ãå€ã¯ã©ã¹ãBå±€ã¯ã©ã¹ã«è¿ãïŒæŽæ°åŠçã®ãããæ»ãå€ã¯ãªãïŒ return returnValue; }
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ã
Business
ãã©ã«ããéžæããããŒã«ããŒã®ããããžã§ã¯ã(P)ã-ãã¯ã©ã¹ã®è¿œå (C)ããéžæããŸãã -
OrdersLogic.cs
ãšããååã®ã¯ã©ã¹ãè¿œå ããŸãã -
以äžã®ã³ãŒãã
OrdersLogic.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãåŒæ°ã»æ»ãå€ã¯ã©ã¹ãD å±€ã¯ã©ã¹ãã€ã³ããŒãããŸããã// æ¥åãã¬ãŒã ã¯ãŒã¯ using Touryo.Infrastructure.Business.Business; using Touryo.Infrastructure.Business.Common; using Touryo.Infrastructure.Business.Dao; using Touryo.Infrastructure.Business.Exceptions; using Touryo.Infrastructure.Business.Presentation; using Touryo.Infrastructure.Business.Util; using Touryo.Infrastructure.Business.RichClient.Asynchronous; using Touryo.Infrastructure.Business.RichClient.Business; using Touryo.Infrastructure.Business.RichClient.Presentation; // ãã¬ãŒã ã¯ãŒã¯ using Touryo.Infrastructure.Framework.Business; using Touryo.Infrastructure.Framework.Common; using Touryo.Infrastructure.Framework.Dao; using Touryo.Infrastructure.Framework.Exceptions; using Touryo.Infrastructure.Framework.Presentation; using Touryo.Infrastructure.Framework.Util; using Touryo.Infrastructure.Framework.Transmission; using Touryo.Infrastructure.Framework.RichClient.Presentation; // éšå using Touryo.Infrastructure.Public.Db; using Touryo.Infrastructure.Public.IO; using Touryo.Infrastructure.Public.Log; using Touryo.Infrastructure.Public.Str; using Touryo.Infrastructure.Public.Util; // åŒæ°ã»æ»ãå€ã¯ã©ã¹ using _2CSClientWin_sample.Common; // DAO ã¯ã©ã¹ using _2CSClientWin_sample.Dao;
-
OrdersLogic
ã¯ã©ã¹å®£èšéšåã以äžã®ããã«ä¿®æ£ããOpen æ£æ¢ã®ãæ¥å芪ã¯ã©ã¹ 2ããç¶æ¿ãããŸããpublic class OrdersLogic : MyFcBaseLogic2CS
-
OrdersLogic
ã¯ã©ã¹ã«ã泚ææ å ±äžèŠ§ååŸçšã®UOC_GetOrders
ã¡ãœããã»æ³šæ ID ãããšã«æ³šææ å ±ã®è©³çŽ°ãååŸããããã®UOC_GetOrderById
ã¡ãœããã»æ³šææ å ±æŽæ°çšã®UOC_UpdateOrder
ã¡ãœãããäœæããŸãããã ããDAO ã¯ã©ã¹ã®åŒã³åºã㯠DAO éçŽã¯ã©ã¹ãè¡ããŸãã®ã§ãB å±€ã¯ã©ã¹ã¯ãP å±€ã¯ã©ã¹ãš DAO éçŽã¯ã©ã¹ã®äžç¶ã®ã¿ãè¡ããŸããprivate void UOC_GetOrders(OrderParameterValue orderParameter) { // DAO éçŽã¯ã©ã¹ãçæãã ConsolidatedLayerD facade = new ConsolidatedLayerD(this.GetDam()); // 泚ææ å ±äžèŠ§ãååŸãã OrderReturnValue returnValue = facade.GetOrders(orderParameter); // æ»ãå€ã¯ã©ã¹ãè¿ã this.ReturnValue = returnValue; } private void UOC_GetOrderById(OrderParameterValue orderParameter) { // DAO éçŽã¯ã©ã¹ãçæãã ConsolidatedLayerD facade = new ConsolidatedLayerD(this.GetDam()); // 泚ææ å ±ã®è©³çŽ°ãååŸãã OrderReturnValue returnValue = facade.GetOrderById(orderParameter); // æ»ãå€ã¯ã©ã¹ãè¿ã this.ReturnValue = returnValue; } private void UOC_UpdateOrder(OrderParameterValue orderParameter) { // DAO éçŽã¯ã©ã¹ãçæãã ConsolidatedLayerD facade = new ConsolidatedLayerD(this.GetDam()); // 泚ææ å ±ãDBã«ç»é²ãã OrderReturnValue returnValue = facade.UpdateOrder(orderParameter); // æ»ãå€ã¯ã©ã¹ãè¿ã this.ReturnValue = returnValue; }
ã泚æãOpen æ£æ¢ã®ãæ¥å芪ã¯ã©ã¹ 2ãã§ãã
MyFcBaseLogic2CS
ã¯ã©ã¹ãç¶æ¿ãã B å±€ã¯ã©ã¹ã§ã¯ãP å±€ããåŒã³åºãããã¡ãœããåã¯UOC_xx
(xx ã¯ä»»æ) ãšããå¿ èŠããããŸããP å±€ãã âxxâ ã®éšåããã©ã¡ãŒã¿ãšããŠæž¡ãããšã§ãOpen æ£æ¢ã«ããUOC_xx
ã¡ãœããã«åŠçãæ¯ãåããããŸãã(åŸè¿°)
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ã
OrdersForm.cs
ãã¡ã€ã«ãå³ã¯ãªãã¯ãããã³ãŒãã®è¡šç€º(C)ããéžæããŸãã -
以äžã®ã³ãŒãã
OrdersForm.cs
ã«è¿œå ããOpen æ£æ¢ãæäŸããã¯ã©ã¹ãåŒæ°ã»æ»ãå€ã¯ã©ã¹ãB å±€ã¯ã©ã¹ãã€ã³ããŒãããŸãã// æ¥åãã¬ãŒã ã¯ãŒã¯ using Touryo.Infrastructure.Business.Business; using Touryo.Infrastructure.Business.Common; using Touryo.Infrastructure.Business.Dao; using Touryo.Infrastructure.Business.Exceptions; using Touryo.Infrastructure.Business.Presentation; using Touryo.Infrastructure.Business.Util; using Touryo.Infrastructure.Business.RichClient.Asynchronous; using Touryo.Infrastructure.Business.RichClient.Presentation; // ãã¬ãŒã ã¯ãŒã¯ using Touryo.Infrastructure.Framework.Business; using Touryo.Infrastructure.Framework.Common; using Touryo.Infrastructure.Framework.Dao; using Touryo.Infrastructure.Framework.Exceptions; using Touryo.Infrastructure.Framework.Presentation; using Touryo.Infrastructure.Framework.Util; using Touryo.Infrastructure.Framework.Transmission; using Touryo.Infrastructure.Framework.RichClient.Business; using Touryo.Infrastructure.Framework.RichClient.Presentation; // éšå using Touryo.Infrastructure.Public.Db; using Touryo.Infrastructure.Public.IO; using Touryo.Infrastructure.Public.Log; using Touryo.Infrastructure.Public.Str; using Touryo.Infrastructure.Public.Util; // åŒæ°ã»æ»ãå€ã¯ã©ã¹ using _2CSClientWin_sample.Common; // B å±€ã¯ã©ã¹ using _2CSClientWin_sample.Business;
-
OrdersLogic
ã¯ã©ã¹å®£èšéšåã以äžã®ããã«ä¿®æ£ããOpen æ£æ¢ã®ãç»é¢èŠªã¯ã©ã¹ 2ããç¶æ¿ãããŸããpublic partial class OrdersForm : MyBaseControllerWin
-
ç»é¢èµ·åæã«æ³šææ å ±ã®äžèŠ§ã衚瀺ãããããã
OrdersForm
ã¯ã©ã¹ã®UOC_FormInit
ã¡ãœããã以äžã®ããã«ãªãŒããŒã©ã€ãããŸããprotected override void UOC_FormInit() { // åŒæ°ã¯ã©ã¹ãçæ OrderParameterValue param = new OrderParameterValue(this.Name, "", "GetOrders", "SQL", MyBaseControllerWin.UserInfo); // æ»ãå€ã¯ã©ã¹ãçæ OrderReturnValue returnValue; // 局åŒåºã OrdersLogic logic = new OrdersLogic(); returnValue = (OrderReturnValue)logic.DoBusinessLogic(param); // DataGridView ãã¯ãªã¢ this.dataGridView1.DataSource = null; if (returnValue.ErrorFlag == true) { // ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãã MessageBox.Show("ErrorMessageID:" + returnValue.ErrorMessageID + "\r\n" + "ErrorMessage:" + returnValue.ErrorMessage + "\r\n" + "ErrorInfo:" + returnValue.ErrorInfo + "\r\n"); } else { // 泚ææ å ±äžèŠ§ã DataGridView ã«è¡šç€ºãã this.dataGridView1.DataSource = returnValue.Orders; // DataGridView ãç·šéäžå¯ã«ãã this.dataGridView1.ReadOnly = true; } // DBãšã®æ¥ç¶ãéãã BaseLogic2CS.CommitAndClose(); }
-
次ã«ããã¿ã³æŒäžæã«æ³šææ å ±è©³çŽ°ç»é¢ã衚瀺ããããã®ã¡ãœãããè¿œå ããŸãã
protected void UOC_btnShowOrderDetail_Click(RcFxEventArgs eventArgs) { if (this.dataGridView1.SelectedRows.Count == 0) { // DataGridView ã®è¡ãéžæãããŠããªãå Žåã¯ããšã©ãŒã¡ãã»ãŒãžã衚瀺ãã MessageBox.Show("è¡ãéžæãããŠããŸãã"); return; } // 泚ææ å ±è©³çŽ°ç»é¢ãçæãã OrderDetailsForm orderDetailsForm = new OrderDetailsForm(); // 泚ææ å ±äžèŠ§ç»é¢ã«ã泚ææ å ±è©³çŽ°ç»é¢ãææããã orderDetailsForm.Owner = this; // 泚ææ å ±è©³çŽ°ç»é¢ã衚瀺ãã orderDetailsForm.Show(); }
-
泚ææ å ±äžèŠ§ãããéžæãããŠãã泚æ ID ãè¿ãããããã£ãäœæããŸãã
public string SelectedOrderId { get { if (this.dataGridView1.SelectedRows.Count == 0) { // è¡ãéžæãããŠããªãå Žå㯠null ãè¿ã return null; } else { // éžæãããŠãã泚æ ID ãè¿ã return this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); } } }
-
4.7.1 é ãåèã«ã泚ææ å ±è©³çŽ°ç»é¢ (
OrderDetailsForm
) ããå¿ èŠãªåæ å ±ãã€ã³ããŒãããOpen æ£æ¢ã®ãæ¥å芪ã¯ã©ã¹ 2ããç¶æ¿ãããŸãã -
ç»é¢èµ·åæã«æ³šææ å ±ã®è©³çŽ°ã衚瀺ãããããã
OrderDetailsForm
ã¯ã©ã¹ã®UOC_FormInit
ã¡ãœããã以äžã®ããã«ãªãŒããŒã©ã€ãããŸããprotected override void UOC_FormInit() { // åŒæ°ã¯ã©ã¹ãçæ OrderParameterValue param = new OrderParameterValue(this.Name, "", "GetOrderById", "SQL", MyBaseControllerWin.UserInfo); param.OrderId = ((OrdersForm)this.Owner).SelectedOrderId; // æ»ãå€ã¯ã©ã¹ãçæ OrderReturnValue returnValue; // 局åŒåºã OrdersLogic logic = new OrdersLogic(); returnValue = (OrderReturnValue)logic.DoBusinessLogic(param); // DataGridView ãã¯ãªã¢ this.dataGridView1.DataSource = null; this.dataGridView2.DataSource = null; if (returnValue.ErrorFlag == true) { // ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãã MessageBox.Show("ErrorMessageID:" + returnValue.ErrorMessageID + "\r\n" + "ErrorMessage:" + returnValue.ErrorMessage + "\r\n" + "ErrorInfo:" + returnValue.ErrorInfo + "\r\n"); } else { // 泚ææ å ±ïŒãµããªïŒã®è¡šç€º this.dataGridView1.DataSource = returnValue.Orders; // ç¹å®ã®åãç·šéäžå¯ã«ãã this.dataGridView1.Columns["OrderId"].ReadOnly = true; this.dataGridView1.Columns["CustomerId"].ReadOnly = true; this.dataGridView1.Columns["EmployeeId"].ReadOnly = true; // 泚ææ å ±ïŒæ现ïŒã®è¡šç€º this.dataGridView2.DataSource = returnValue.OrderDetails; // ç¹å®ã®åãç·šéäžå¯ã«ãã this.dataGridView2.Columns["OrderId"].ReadOnly = true; this.dataGridView2.Columns["ProductId"].ReadOnly = true; } // DBãšã®æ¥ç¶ãéãã BaseLogic2CS.CommitAndClose(); }
-
次ã«ããã¿ã³æŒäžæã«æ³šææ å ±ã DB ã«åæ ãããããã®ã¡ãœãããè¿œå ããŸãã
protected void UOC_btnUpdateOrder_Click(RcFxEventArgs eventArgs) { // ã°ãªããã®å€ãååŸãã DataTable orderTable = (DataTable)this.dataGridView1.DataSource; DataTable orderDetailTable = (DataTable)this.dataGridView2.DataSource; // åŒæ°ã¯ã©ã¹ãçæ OrderParameterValue param = new OrderParameterValue(this.Name, "", "UpdateOrder", "SQL", MyBaseControllerWin.UserInfo); // æ¥åããžãã¯ã«åŒæ°ãšããŠã°ãªããã®å€ãæž¡ã param.Orders = orderTable; param.OrderDetails = orderDetailTable; // æ»ãå€ã¯ã©ã¹ãçæ OrderReturnValue returnValue; // 局åŒåºã OrdersLogic logic = new OrdersLogic(); returnValue = (OrderReturnValue)logic.DoBusinessLogic(param); if (returnValue.ErrorFlag == true) { // ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ãã BaseLogic2CS.RollbackAndClose(); // ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãã MessageBox.Show("ErrorMessageID:" + returnValue.ErrorMessageID + "\r\n" + "ErrorMessage:" + returnValue.ErrorMessage + "\r\n" + "ErrorInfo:" + returnValue.ErrorInfo + "\r\n"); } else { // ãã©ã³ã¶ã¯ã·ã§ã³ãã³ããããã BaseLogic2CS.CommitAndClose(); // çµæïŒæ£åžžç³»ïŒ MessageBox.Show("æ£åžžã« DB ãæŽæ°ããŸããã"); } }
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ã
app.config
ãã¡ã€ã«ãéããŸãã -
connectionStrings
ã»ã¯ã·ã§ã³ã確èªããâConnectionString_SQLâ ãšããååã®æ¥ç¶æååèšå®ããNorthwind ããŒã¿ããŒã¹ãæããŠããããšã確èªããŸãã<connectionStrings> <!-- SQL Server / SQL Clientçš --> <add name="ConnectionString_SQL" connectionString="Data Source=localhost\sqlexpress;Initial Catalog=Northwind;Integrated Security=True;"/> </connectionStrings>
ãµã³ãã«ããã°ã©ã ãèµ·åãããšãæ¢å®ã§ã¯ãµã³ãã«ããã°ã©ã ãæäŸããŠããç»é¢ã衚瀺ãããŸãããããã泚ææ
å ±äžèŠ§ç»é¢ (OrdersForm.cs
) ã衚瀺ãããããã«å€æŽããŸãã
-
Visual Studio ã®ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ã
Program.cs
ãã¡ã€ã«ãéããŸãã -
Program.cs
ã§ãApplication.Run
ã¡ãœãããå®è¡ããŠããç®æãæ€çŽ¢ãããã®éšåãã以äžã®ããã«æ³šææ å ±äžèŠ§ç»é¢ãèµ·åæã«è¡šç€ºãããããã«ããŸãã// æ¥åç»é¢ã®è¡šç€ºïŒæ¥åã®éå§ïŒ Application.Run(new OrdersForm());
-
Visual Studio ã§ãµã³ãã«ããã°ã©ã ããããã°å®è¡ããŸãã
-
ã¹ãã©ãã·ã¥ç»é¢ã衚瀺ãããåŸããã°ã€ã³ç»é¢ã衚瀺ãããŸãã®ã§ã以äžã®ããã«å ¥åããããã°ã€ã³ããã¿ã³ãã¯ãªãã¯ããŸãã
- äžéšã®ããã¹ãããã¯ã¹: 空ã§ãªãä»»æã®æåå
- äžéšã®ããã¹ãããã¯ã¹: ä»»æã®æåå (空ã§ããã)
-
泚ææ å ±äžèŠ§ç»é¢ã衚瀺ããã泚ææ å ±ãã°ãªããã«è¡šç€ºãããŠããããšã確èªããŸããã©ããã®è¡ãéžæããã泚æ詳现ã®æ å ±ã衚瀺ããããã¿ã³ãã¯ãªãã¯ããŸãã
-
泚ææ å ±ã®è©³çŽ°ã衚瀺ãããŸãã®ã§ãç»é¢äžã§ä¿®æ£ãããç®æãç·šéããŸãã(ãã ããOrderId åãCustomerId åãEmployee åãProductId åã¯ç·šéã§ããŸãã) ç·šéçµäºåŸããä¿®æ£å 容ãåæ ããã¿ã³ãã¯ãªãã¯ããŸãã
-
æ£åžžã«DBãæŽæ°ãããšããã¡ãã»ãŒãžã衚瀺ãããããšã確èªãããOKããã¿ã³ãã¯ãªãã¯ããŸãã
-
以äžã®ã³ãã³ããå®è¡ããä¿®æ£ããå 容㧠DB ã®å€ãæŽæ°ãããŠããããšã確èªããŸãããªãã以äžã®ã³ãã³ãã®äžã§ãéžæãã泚æçªå·ãã®ç®æã¯ãå ã»ã©éžæãã泚æçªå· (OrderID) ã«çœ®ãæããŠãã ããã
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S localhost\SQLExpress -E -d Northwind -Q "Select * From Orders Inner Join [Order Details] On Orders.OrderId=[Order Details].OrderId Where Orders.OrderId=ãéžæãã泚æçªå·ã"
-
C:\root\programs\C#\Samples\2CS_sample\2CSClientWin_sample\bin\Debug\ACCESS_2CS.yyyy-mm-dd.log
ãã¡ã¢åž³ãªã©ã§éããŸãã(yyyy-mm-dd ã«ã¯ãå®è¡æ¥ä»ãå ¥ããŸã) -
OrdersForm
ãOrderDetailsForm
ãžã®ã¢ã¯ã»ã¹ããã¬ãŒã¹ãšããŠèšé²ãããŠããããšã確èªããŸãã(以äžã¯ãã¬ãŒã¹ãã°ãæç²ãããã®ã§ããLogin
ç»é¢ãOrdersForm
ç»é¢ãOrderDetailsForm
ç»é¢ããããããã¬ãŒã¹ãããŠããããšãåãããŸã)[2017/04/06 11:24:54,043],[INFO ],[9],Splash [2017/04/06 11:24:54,058],[INFO ],[10],Splash [2017/04/06 11:24:57,084],[INFO ],[9],,ïŒ,ïŒ,Login,Form_Load [2017/04/06 11:25:00,060],[INFO ],[9],,ïŒ,----->,Login,btnButton1 [2017/04/06 11:25:00,065],[INFO ],[9],,user01,ïŒ,Login,Form_Closed [2017/04/06 11:25:00,076],[INFO ],[9],,user01,<-----,Login,btnButton1,16,0 [2017/04/06 11:25:00,099],[INFO ],[9],,user01,ïŒ,OrdersForm,Form_Load [2017/04/06 11:25:00,667],[INFO ],[9],,user01,pc01,----->>,OrdersForm,,GetOrders, [2017/04/06 11:25:03,008],[INFO ],[9],,user01,pc01,<<-----,OrdersForm,,GetOrders,,2341,203 [2017/04/06 11:28:46,964],[INFO ],[9],,user01,----->,OrdersForm,btnShowOrderDetail [2017/04/06 11:28:46,983],[INFO ],[9],,user01,ïŒ,OrderDetailsForm,Form_Load [2017/04/06 11:28:46,986],[INFO ],[9],,user01,pc01,----->>,OrderDetailsForm,,GetOrderById, [2017/04/06 11:28:49,486],[INFO ],[9],,user01,pc01,<<-----,OrderDetailsForm,,GetOrderById,,2501,31 [2017/04/06 11:28:49,537],[INFO ],[9],,user01,<-----,OrdersForm,btnShowOrderDetail,2573,109 [2017/04/06 11:36:09,282],[INFO ],[9],,user01,----->,OrderDetailsForm,btnUpdateOrder [2017/04/06 11:36:09,456],[INFO ],[9],,user01,pc01,----->>,OrderDetailsForm,,UpdateOrder, [2017/04/06 11:36:10,000],[INFO ],[9],,user01,pc01,<<-----,OrderDetailsForm,,UpdateOrder,,543,47 [2017/04/06 11:39:11,799],[INFO ],[9],,user01,<-----,OrderDetailsForm,btnUpdateOrder,182512,125 [2017/04/06 11:39:13,542],[INFO ],[9],,user01,ïŒ,OrderDetailsForm,Form_Closed [2017/04/06 11:39:15,232],[INFO ],[9],,user01,ïŒ,OrdersForm,Form_Closed
-
C:\root\programs\C#\Samples\2CS_sample\2CSClientWin_sample\bin\Debug\SQLTRACE_2CS.yyyy-mm-dd.log
ãã¡ã¢åž³ãªã©ã§éããŸãã(yyyy-mm-dd ã«ã¯ãå®è¡æ¥ä»ãå ¥ããŸã) -
Orders ããŒãã«ã»Order Details ããŒãã«ã«å¯Ÿãã SQL æããã¬ãŒã¹ãšããŠèšé²ãããŠããããšã確èªããŸããïŒä»¥äžã¯ SQL ãã¬ãŒã¹ãã°ãããSELECT æã®å®è¡ãã°ãæç²ãããã®ã§ãïŒ
[2017/04/06 11:25:03,006],[INFO ],[9],207,16,[commandText]:SELECT Orders.OrderID, Customers.CompanyName, Customers.ContactName, Employees.LastName As EmployeeLastName, Employees.FirstName As EmployeeFirstName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID [commandParameter]: [2017/04/06 11:28:49,335],[INFO ],[9],51,16,[commandText]: -- DaoOrders_D2_Select -- 2012/7/30 æ¥ç« 倪é SELECT [OrderID], [CustomerID], [EmployeeID], [OrderDate], [RequiredDate], [ShippedDate], [ShipVia], [Freight], [ShipName], [ShipAddress], [ShipCity], [ShipRegion], [ShipPostalCode], [ShipCountry] FROM [Orders] WHERE [OrderID] = @OrderID [commandParameter]:OrderID=10248, [2017/04/06 11:28:49,486],[INFO ],[9],150,0,[commandText]: -- DaoOrder_Details_D2_Select -- 2012/7/30 æ¥ç« 倪é SELECT [OrderID], [ProductID], [UnitPrice], [Quantity], [Discount] FROM [Order Details] WHERE [OrderID] = @OrderID [commandParameter]:OrderID=10248,