I am using MS Access as my back-end database. I am able to navigate data in textboxes using binding navigator, however not able to insert, delete and update data to the database.
Kindly guide me for the same.
Also, i tried with the following code in "BindingNavigatorAddNewItem_Click"
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into Table1 (name) values (" + textBox1.Text + ")";
cmd.Connection = mycon;
mycon.Open();
cmd.ExecuteNonQuery();
mycon.Close();
Loading
Satyapriya NayakPosted Jun 6, 2012, 9:02 AM
Try this...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Insert_update_delete_navigate
{
public partial class Form1 : Form
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["dsn"];
OleDbCommand com;
OleDbDataAdapter oledbda;
string str;
DataSet ds;
byte flag;
BindingManagerBase bm;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(ConnectionString);
con.Open();
str = "select * from student";
com = new OleDbCommand(str, con);
oledbda = new OleDbDataAdapter(com);
ds = new DataSet();
oledbda.Fill(ds, "student");
textBox1.DataBindings.Add("Text", ds, "student.id");
textBox2.DataBindings.Add("Text", ds, "student.name");
bm = this.BindingContext[ds, "student"];
con.Close();
}
private void btn_first_Click(object sender, EventArgs e)
{
bm.Position = 0;
}
private void btn_next_Click(object sender, EventArgs e)
{
bm.Position += 1;
}
private void btn_previous_Click(object sender, EventArgs e)
{
bm.Position -= 1;
}
private void btn_last_Click(object sender, EventArgs e)
{
bm.Position = bm.Count - 1;
}
private void btn_add_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox1.Focus();
flag = 1;
}
private void btn_modify_Click(object sender, EventArgs e)
{
flag = 2;
}
private void btn_save_Click(object sender, EventArgs e)
{
if (flag == 1)
{
OleDbConnection con = new OleDbConnection(ConnectionString);
con.Open();
str = "insert into student(id,name) values (@id,@name)";
com = new OleDbCommand(str, con);
com.Parameters.AddWithValue("@sid", textBox1.Text);
com.Parameters.AddWithValue("@sname", textBox2.Text);
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("Records Successfuly Inserted");
}
if (flag == 2)
{
OleDbConnection con = new OleDbConnection(ConnectionString);
con.Open();
str = "update student set name='" + textBox2.Text.Trim() + "' where id='" + textBox1.Text.Trim() + "'";
com = new OleDbCommand(str, con);
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("Records Successfuly Updated");
}
}
private void btn_delete_Click(object sender, EventArgs e)
{
DialogResult result;
result = MessageBox.Show("Are You sure want to Delete?", "Conformation", MessageBoxButtons.YesNo);
if (result == System.Windows.Forms.DialogResult.Yes)
{
OleDbConnection con = new OleDbConnection(ConnectionString);
str = "delete from student where id=@id";
com = new OleDbCommand(str, con);
com.Parameters.AddWithValue("@id", textBox1.Text);
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("Records Successfuly Deleted");
con.Close();
}
else
{
MessageBox.Show("No action");
}
}
}
}
Thanks