Fixed php examples and plugins so no warnings are given with the latest versions...
[infodrom/rico3] / examples / dotnet / dbConnect.ascx
1 <%@ Control Language="vb" %>\r
2 <%@ Import Namespace="System.Data" %>\r
3 <%@ Import Namespace="System.Data.OleDb" %>\r
4 <%@ Import Namespace="System.Data.SqlClient" %>\r
5 <%@ Import Namespace="System.Data.Odbc" %>\r
6 <%@ Import Namespace="Rico" %>\r
7 \r
8 <script runat="server">\r
9 \r
10 Public dbConnection as object, accessRights as string\r
11 Public LastErrorMsg as String\r
12 Public defaultDB as String = "Northwind"\r
13 Public dbDialect as dbDialects = dbDialects.Access\r
14 \r
15 \r
16 Public Function OpenDB()\r
17   try\r
18     select case dbDialect\r
19       ' 32-bit\r
20       case dbDialects.Access: dbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("../data/" & defaultDB & ".mdb") & ";User ID=;Password=;")\r
21       \r
22       ' 64-bit\r
23       'case dbDialects.Access: dbConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & server.mappath("../data/" & defaultDB & ".mdb") & ";User ID=;Password=;")\r
24 \r
25       case dbDialects.TSQL:   dbConnection = new SqlConnection("Data Source=MATTSPROBOOK\SQLEXPRESS;User ID=userid;Password=password;Initial Catalog=" & defaultDB & ";")\r
26       case dbDialects.Oracle: dbConnection = new OleDbConnection("Provider=OraOLEDB.Oracle;Data Source=XE;User ID=" & defaultDB & ";Password=Password;")\r
27       case dbDialects.MySQL:  dbConnection = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=" & defaultDB & ";USER=userid;PASSWORD=password;")\r
28       case dbDialects.DB2:    dbConnection = new OleDbConnection("Provider=IBMDADB2;Data Source=NORTHWND;Protocol=local;CurrentSchema=SCHEMA;User ID=userid;Password=password;")\r
29     end select\r
30     dbConnection.Open()\r
31     OpenDB=true\r
32   Catch ex As Exception\r
33     OpenDB=false\r
34     LastErrorMsg=ex.Message\r
35   end try\r
36 end function\r
37 \r
38 \r
39 Public function OpenApp()\r
40   OpenApp=false\r
41   if not OpenDB then exit function\r
42   accessRights="rw"  ' CHECK APPLICATION SECURITY HERE  (in this example, "r" gives read-only access and "rw" gives read/write access)\r
43   if IsNothing(accessRights) OrElse left(accessRights,1)<>"r" then\r
44     LastErrorMsg="You do not have permission to access this application"\r
45   else\r
46     OpenApp=true\r
47   end if\r
48 end function\r
49 \r
50 \r
51 Public function OpenGrid(oLiveGrid as object, optional menuevent as menuEvents = menuEvents.click)\r
52   OpenGrid=false\r
53   if not OpenApp() then\r
54     response.write("ERROR: " & LastErrorMsg)\r
55     response.end\r
56     exit function\r
57   end if\r
58   SetGridOptions(oLiveGrid,menuevent)\r
59   OpenGrid=true\r
60 end function\r
61 \r
62 \r
63 Public sub SetGridOptions(oLiveGrid as object, optional menuevent as menuEvents = menuEvents.click)\r
64   oLiveGrid.dbConnection=Me.dbConnection\r
65   oLiveGrid.dbDialect=Me.dbDialect\r
66 \r
67   '-------------------------------\r
68   ' set application-wide defaults\r
69   '-------------------------------\r
70   oLiveGrid.menuEvent=menuevent\r
71   'Session.Timeout=60\r
72 end sub\r
73 \r
74 \r
75 Public function OpenGridForm(oLiveGrid as object)\r
76   OpenGridForm=false\r
77   if not OpenGrid(oLiveGrid) then exit function\r
78 \r
79   '-------------------------------\r
80   ' set security rights\r
81   '-------------------------------\r
82   dim CanModify as Boolean=CBool(accessRights="rw")\r
83   oLiveGrid.canAdd=CanModify\r
84   oLiveGrid.canEdit=CanModify\r
85   oLiveGrid.canDelete=CanModify\r
86 \r
87   OpenGridForm=true\r
88 end function\r
89 \r
90 \r
91 Public sub CloseApp()\r
92   if IsNothing(dbConnection) then exit sub\r
93   dbConnection.Close()\r
94   dbConnection = Nothing\r
95 end sub\r
96 \r
97 \r
98 Sub Page_Unload(Sender As object, e As EventArgs)\r
99   Me.CloseApp()\r
100 End Sub\r
101 \r
102 </script>\r