controlobjvariable.DataBindings.Add(new Binding(controlproperty, datasetname, fieldname))For instance:
fnamelabel.DataBindings.Add(new Binding("Text", dataset11, "Table1.fname", true))For a simple data binding example, follow these steps:
Before the Database Connection and Binding process I want you to make an Ms-Access database file named “dbEmployee” containing a table named “tblEmployee”. Use the following specifications:
Field Name | Data Type | Description |
chrempno | text | Handles employee id |
chrfname | text | Handles employee’s name |
chrlname | text | Holds employee’s last name |
After designing the structure of your table, you can enter appropriate values for each field. For instance:
chrempno | chrfname | Chrlname |
2010A | John | Doe |
2010B | Jean | Doe |
Now that we are done creating a table, we can now link to it by using OleDbDataAdapter in Visual F#:
1. Click Start>All Programs>Microsoft Visual Studio 2008>Microsoft Visual Studio 2008.
2. Click File>New>Project>Select Visual F# in the project types>Select F# application in the Visual Studio installed templates category.
3. Click the Project menu>Add reference>Click the .Net tab>Locate then double-click System.Windows.Forms. Do step 3 again and this time, select System.Drawing and System.Data from the .Net tab.
4. Enter the following code after the line “// Learn more about F# at http://fsharp.net “:
// Learn more about F# at http://fsharp.net //specifies the memory location of the class files //that will be needed in our application open System open System.Windows.Forms open System.Data open System.Drawing //creates a font let ffont=new Font("Verdana", 9.75F,FontStyle.Regular, GraphicsUnit.Point) //creates a connection object let oleconn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\station 2\My Documents\dbEmployee.mdb") //creates an OleDbDataAdapter let dataadpter = new System.Data.OleDb.OleDbDataAdapter("Select * from tblEmployee", oleconn) //generates a dataset let dataset11 = new DataSet() //fills the dataset with recod values dataadpter.Fill(dataset11,"tblEmployee")|>ignore //creates a form let dataform = new Form(Text="Use OleDbDataAdapter",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(300, 200),StartPosition=FormStartPosition.CenterScreen) //creates our controls let exitbutton=new Button(Text="Exit", Location=new System.Drawing.Point(190, 170)) let label1=new Label(Text="Employee number:",Location=new System.Drawing.Point(0, 10),AutoSize=true) let label2=new Label(Text="Firstname:",Location=new System.Drawing.Point(0, 50),AutoSize=true) let label3=new Label(Text="Lastname:",Location=new System.Drawing.Point(0,100),AutoSize=true) let emplabel=new Label(Location=new System.Drawing.Point(140,10),BorderStyle=BorderStyle.FixedSingle) let fnamelabel=new Label(Location=new System.Drawing.Point(100,50),BorderStyle=BorderStyle.FixedSingle) let lnamelabel=new Label(Location=new System.Drawing.Point(100,100),BorderStyle=BorderStyle.FixedSingle) //assings the font to our form dataform.Font<-ffont //adds the controls to our form dataform.Controls.Add(exitbutton) dataform.Controls.Add(label1) dataform.Controls.Add(label2) dataform.Controls.Add(label3) dataform.Controls.Add(emplabel) dataform.Controls.Add(fnamelabel) dataform.Controls.Add(lnamelabel) //binds the fieldnames to our label emplabel.DataBindings.Add(new Binding("Text",dataset11,"tblEmployee.chrempno")) fnamelabel.DataBindings.Add(new Binding("Text",dataset11,"tblEmployee.chrfname")) lnamelabel.DataBindings.Add(new Binding("Text",dataset11,"tblEmployee.chrlname")) //when the exit button is clicked exitbutton.Click.Add(fun exit-> //close the form and dataconnection dataform.Close() oleconn.Close()) //executes our application dataform.Show() Application.Run(dataform)
5. Click the run icon to execute your application. You should now see an output similar to the following screen shot: