winform/c#database+app+ - home.hit.nohome.hit.no/~hansha/documents/database/visual...

18
WinForm/C# Database App HansPe7er Halvorsen, M.Sc. using ADO.NET

Upload: ngodat

Post on 10-Apr-2018

239 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

WinForm/C#  Database  App  

Hans-­‐Pe7er  Halvorsen,  M.Sc.  

using  ADO.NET  

Page 2: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

2  

Database  Tables  

Page 3: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

3  

Execute  the  different  Scripts  inside  SQL  Server  Management  Studio  

Page 4: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

4  

This  Example  shows  how  to  create  a  WinForm  App  that  gets  Data  from  a  Database  into  a  DataGridView  

Page 5: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

5  

Add  a  WinForm  Project  

Page 6: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

6  

Add  a  New  Class  to  the  Project  (“StudentData.cs”)  

“StudentData.cs”  

Page 7: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

7  

Create  the  Code,  e.g.,  like  this  (“StudentData.cs”):  

Improvements:  Use  Try...  Catch  ...  

A  View  that  collects  data  from  several  tables  

SQL  Query  

Page 8: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

8  

Add  a  New  Class  (“StudentWinForm.cs”)  

Page 9: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

9  

Add  Code  in  Class  

Add  a  Reference  to  the  Assembly  in  the  Logic  Tier  

Page 10: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

10  

Code  for  Class  “StudentWinForm.cs”  

using  System.Data;    using  Tuc.School.LogicTier;    namespace  Tuc.School.WinFormApp  {          class  StudentWinForm          {                    public  DataSet  GetStudent(string  connectionString)                  {                          StudentData  studentData  =  new  StudentData();                            return  studentData.GetStudentDB(connectionString);                  }            }  }

Since  we  are  using  the  DataSet  Class  

Page 11: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

11  

Create  Form  

Label  

DataGridView  

Page 12: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

12  

Create  Form  Code  

Page 13: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

13  

using  System.Configuration;  using  Tuc.School.WinFormApp;    namespace  WinFormApp  {          public  partial  class  Form1  :  Form          {                    private  string  connectionString  =      

 ConfigurationManager.ConnectionStrings["SCHOOLConnectionString"].ConnectionString;                                    public  Form1()                  {                              InitializeComponent();                  }                    private  void  Form1_Load(object  sender,  EventArgs  e)                  {                          FillStudentGrid();                    }                    private  void  FillStudentGrid()                  {                            DataSet  ds  =  new  DataSet();                            StudentWinForm  studentList  =  new  StudentWinForm();                                                    ds  =  studentList.GetStudent(connectionString);                            dataGridViewStudentInformation.DataSource  =  ds.Tables[0];                                            }          }  }

WinForm  Code  Note!  

ConnecZonString  is  stored  in  App.config  

Page 14: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

14  

Note!  Add  “System.ConfiguraZon”  Reference  

Page 15: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

15  

Create  DB  ConnecZonString  in  App.config  <?xml  version="1.0"  encoding="utf-­‐8"  ?>  <configuration>                <startup>                    <supportedRuntime  version="v4.0"  sku=".NETFramework,Version=v4.5"  />          </startup>          <connectionStrings>          <add  name="SCHOOLConnectionString"  connectionString="Data  Source=macwin8;Initial  Catalog=SCHOOL;Persist  Security  Info=True;User  ID=sa;Password=xxxxxx"              providerName="System.Data.SqlClient"  />      </connectionStrings>              </configuration>

Page 16: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

16  

Test  it  

It  works!!!  

Page 17: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

Recommended  Li7erature  

•  Tutorial:  IntroducZon  to  Database  Systems  h7p://home.hit.no/~hansha/?tutorial=database    

•  Tutorial:  Structured  Query  Language  (SQL)  h7p://home.hit.no/~hansha/?tutorial=sql    

•  Tutorial:  Using  SQL  Server  in  C#  •  Tutorial:  IntroducZon  to  Visual  Studio  and  C#  h7p://home.hit.no/~hansha/?tutorial=csharp    

 17  

Page 18: WinForm/C#Database+App+ - home.hit.nohome.hit.no/~hansha/documents/database/Visual Studio/WinForm... · WinForm/C#Database+App+ Hans5Pe7er+Halvorsen,+M.Sc.+ usingADO.NET. 2 Database+Tables+

Hans-­‐PeKer  Halvorsen,  M.Sc.  Telemark  University  College  Faculty  of  Technology  Department  of  Electrical  Engineering,  InformaVon  Technology  and  CyberneVcs  

   E-­‐mail:  [email protected]  Blog:  hKp://home.hit.no/~hansha/    

18