How to insert data into Ms Access 2007 using WPF || Inserting and Binding of data to GridView from Ms Access in WPF
XAML Code :
<window height="493" title="MainWindow" width="533" x:class="MoneyWizard.MainWindow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<grid margin="1,8,2,3" rendertransformorigin="0.463,0.489">
<label content="Bank Name" horizontalalignment="Left" margin="80,57,0,0" verticalalignment="Top">
<label .background=".background">
<imagebrush>
</imagebrush></label>
</label>
<label content="Account Number" horizontalalignment="Left" margin="81,101,0,0" verticalalignment="Top">
<label content="Account Type" horizontalalignment="Left" margin="82,141,0,0" verticalalignment="Top">
<label content="Balance" horizontalalignment="Left" margin="81,209,0,0" verticalalignment="Top">
<combobox horizontalalignment="Left" margin="241,58,0,0" verticalalignment="Top" width="196" x:name="cmbBankName">
<comboboxitem content="Axis Bank">
<comboboxitem content="HDFC Bank" horizontalalignment="Left" width="118">
</comboboxitem></comboboxitem></combobox>
<textbox horizontalalignment="Left" margin="242,102,0,0" rendertransformorigin="0.5,0.5" textwrapping="Wrap" verticalalignment="Top" width="196" x:name="txtAcNo">
<textbox .rendertransform=".rendertransform">
<transformgroup>
<scaletransform>
<skewtransform>
<rotatetransform angle="-7380.224">
<translatetransform>
</translatetransform></rotatetransform></skewtransform></scaletransform></transformgroup>
</textbox>
</textbox>
<radiobutton content="Savings Account" horizontalalignment="Left" margin="242,143,0,0" verticalalignment="Top" x:name="rbtnSavingsAc">
<radiobutton content="Current Account" horizontalalignment="Left" margin="381,145,0,0" verticalalignment="Top" x:name="rbtnCurrentAc">
<radiobutton content="Credit Card" horizontalalignment="Left" margin="243,174,0,0" verticalalignment="Top" x:name="rbtnCreditCard">
<radiobutton content="Other" horizontalalignment="Left" margin="383,175,0,0" verticalalignment="Top" x:name="rbtnOther">
<textbox horizontalalignment="Left" margin="242,210,0,0" rendertransformorigin="0.5,0.5" textwrapping="Wrap" verticalalignment="Top" width="192" x:name="txtBalance">
<textbox .rendertransform=".rendertransform">
<transformgroup>
<scaletransform>
<skewtransform>
<rotatetransform angle="-3240.009">
<translatetransform>
</translatetransform></rotatetransform></skewtransform></scaletransform></transformgroup>
</textbox>
</textbox>
<button click="btnSave_Click" content="Save" height="23" horizontalalignment="Left" margin="240,269,0,0" rendertransformorigin="0.5,0.5" verticalalignment="Top" width="63" x:name="btnSave">
</button><button .rendertransform=".rendertransform">
<transformgroup>
<scaletransform scalex="1" scaley="1">
<skewtransform anglex="0" angley="0">
<rotatetransform angle="-14039.799">
<translatetransform>
</translatetransform></rotatetransform></skewtransform></scaletransform></transformgroup>
</button>
<datagrid background="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrushKey}}" height="144" margin="0,318,0,0" mousedoubleclick="BanksetupGrid_MouseDoubleClick" verticalalignment="Top" x:name="BanksetupGrid">
</datagrid></radiobutton></radiobutton></radiobutton></radiobutton></label></label></label></grid>
</window>
Xaml.Cs Code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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.OleDb;
using System.Data;
namespace MoneyWizard
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\WPFDatabase.accdb");
public MainWindow()
{
InitializeComponent()
Bind();
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
con.Open();
OleDbCommand cmd = new OleDbCommand("BankTableInsert", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@BankName", cmbBankName.SelectedIndex);
cmd.Parameters.AddWithValue("@AccountNo", txtAcNo.Text);
if (rbtnSavingsAc.IsChecked.Value)
{
cmd.Parameters.AddWithValue("@AccountType", rbtnSavingsAc.Content);
}
else if (rbtnCurrentAc.IsChecked.Value)
{
cmd.Parameters.AddWithValue("@AccountType", rbtnCurrentAc.Content);
}
else if (rbtnCreditCard.IsChecked.Value)
{
cmd.Parameters.AddWithValue("@AccountType", rbtnCreditCard.Content);
}
else
{
cmd.Parameters.AddWithValue("@AccountType", rbtnOther.Content);
}
cmd.Parameters.AddWithValue("@Balance", txtBalance.Text);
cmd.Parameters.AddWithValue("@Date", System.DateTime.Now.ToShortDateString());
int result = cmd.ExecuteNonQuery();
con.Close();
if (result > 0)
{
MessageBox.Show("Record inserted successfully");
}
else
{
MessageBox.Show("Error occured, please try again", "Alert");
}
Bind();
}
private void Bind()
{
con.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from BankTable”, con);
DataTable dt = new DataTable();
da.Fill(dt);
BanksetupGrid.ItemsSource = dt.DefaultView;
con.Close();
}
OutPut :

No comments:
Post a Comment