WPF Database connectivity
USING GRID CONTROL
<window x:class="testWPF.MainWindow" xmlns:x="#unknown">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" WindowStartupLocation="CenterScreen" BorderThickness="1" BorderBrush="#FF190000">
<grid name="grdSample" verticalalignment="Center" horizontalalignment="Center" height="auto" width="auto">
<grid.columndefinitions>
<columndefinition width="200"></columndefinition>
<columndefinition width="200"></columndefinition>
</grid.columndefinitions>
<grid.rowdefinitions>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition height="30"></rowdefinition>
<rowdefinition></rowdefinition>
</grid.rowdefinitions>
<textblock grid.column="0" grid.row="0" horizontalalignment="Center" removed="Aqua">Field Name</textblock>
<textblock grid.column="1" grid.row="0" horizontalalignment="Center" removed="Aqua">Field Value</textblock>
<textblock grid.column="0" grid.row="1">First Name</textblock>
<textblock grid.column="0" grid.row="2">Last name</textblock>
<textblock grid.column="0" grid.row="3">Address</textblock>
<textblock grid.column="0" grid.row="4">Email</textblock>
<textblock grid.column="0" grid.row="5">Country</textblock>
<textbox name="txtFname" grid.column="1" grid.row="1"></textbox>
<textbox name="txtlname" grid.column="1" grid.row="2"></textbox>
<textbox name="txtAdd" grid.column="1" grid.row="3"></textbox>
<textbox name="txtEmail" grid.column="1" grid.row="4"></textbox>
<textbox name="txtCountry" grid.column="1" grid.row="5"></textbox>
<button name="btnInsert" content="Insert" verticalalignment="Center" grid.column="0" grid.row="6" click="btnInsert_Click"></button>
<button name="btnClear" content="Clear All" verticalalignment="Center" grid.column="1" grid.row="6" click="btnClear_Click"></button>
<listview name="lvSample" grid.column="0" grid.columnspan="2" grid.row="7" itemssource="{Binding Path=Table}">
<listview.view>
<gridview x:name="gvsample">
<gridviewcolumn width="80" header="First Name" displaymemberbinding="{Binding Path=Fname}" />
<gridviewcolumn width="80" header="Last Name" displaymemberbinding="{Binding Path=Lname}" />
<gridviewcolumn width="100" header="Address" displaymemberbinding="{Binding Path=Address}" />
<gridviewcolumn width="80" header="Email" displaymemberbinding="{Binding Path=Email}" />
<gridviewcolumn width="60" header="Country" displaymemberbinding="{Binding Path=Country}" />
</gridview>
</listview.view>
</listview>
</grid>
</window>
In the Code part of the application, Simply loading the grid to display the existing record. Ans in the Insert button the code to insert the record is placed.. Define your own connection string create a SAMPLE data base as i have used and the table name to insert the record is TEST. Please take a look at the coding part.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using System.Data;
namespace testWPF
{
public partial class MainWindow : Window
{
#region "Global Variable"
string strConnString = "Data Source=ServerName;Initial Catalog=Sample;uid=sa;pwd=test;Pooling=true;Min Pool Size=0;Max Pool Size=1000;";
#endregion
public MainWindow()
{
InitializeComponent();
txtFname.Focus();
loadGrid();
}
private void btnInsert_Click(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection(strConnString);
con.Open();
string strQuery = "insert into test values('" + txtFname.Text.Trim() + "','" + txtlname.Text.Trim() + "','" + txtAdd.Text.Trim() + "','" + txtEmail.Text.Trim() + "','" + txtCountry.Text.Trim() + "')";
SqlCommand cmd = new SqlCommand(strQuery, con);
int a = cmd.ExecuteNonQuery();
if (a > 0)
{
MessageBox.Show("Record Inserted!");
clearAll();
loadGrid();
}
else
{
MessageBox.Show("Error while insertion.");
}
con.Close();
}
private void btnClear_Click(object sender, RoutedEventArgs e)
{
clearAll();
}
private void clearAll()
{
txtFname.Text = "";
txtlname.Text = "";
txtAdd.Text = "";
txtEmail.Text = "";
txtCountry.Text = "";
txtFname.Focus();
}
private void loadGrid()
{
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter ad = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
con.Open();
string strQuery = "select * from Test";
cmd.CommandText = strQuery;
ad.SelectCommand = cmd;
cmd.Connection = con;
DataSet ds = new DataSet();
ad.Fill(ds);
lvSample.DataContext = ds.Tables[0].DefaultView;
con.Close();
}
}
}