Thursday, 8 November 2012

How to insert data into Ms Access 2007 using WPF


 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