ExecuteNonQuery: Connection property has not been initialized
- by 20151012
I get an error in my code:
The error point at dbcom.ExecuteNonQuery();.
Code(connection)
public admin_addemp()
{
InitializeComponent();
con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\EMPS.accdb;Persist Security Info=True");
con.Open();
ds.Tables.Add(dt);
ds.Tables.Add(dt2);
}
Code (Save button)
private void save_btn_Click(object sender, EventArgs e)
{
OleDbCommand check = new OleDbCommand();
check.Connection = con;
check.CommandText = "SELECT COUNT(*) FROM employeeDB WHERE ([EmployeeName]=?)";
check.Parameters.AddWithValue("@EmployeeName", tb_name.Text);
if (Convert.ToInt32(check.ExecuteScalar()) == 0)
{
dbcom2 = new OleDbCommand("SELECT EmployeeID FROM employeeDB WHERE EmployeeID='" + tb_id.Text + "'", con);
OleDbParameter param = new OleDbParameter();
param.ParameterName = tb_id.Text;
dbcom.Parameters.Add(param);
OleDbDataReader read = dbcom2.ExecuteReader();
if (read.HasRows)
{
MessageBox.Show("The Employee ID '" + tb_id.Text + "' already exist. Please choose another Employee ID.");
read.Dispose();
read.Close();
}
else
{
string q = "INSERT INTO employeeDB (EmployeeID, EmployeeName, IC, Address, State, " +
" Postcode, DateHired, Phone, ManagerName) VALUES ('" + tb_id.Text + "', " +
" '" + tb_name.Text + "', '" + tb_ic.Text + "', '" + tb_add1.Text + "', '" + cb_state.Text + "', " +
" '" + tb_postcode.Text + "', '" + dateTimePicker1.Value + "', '" + tb_hp.Text + "', '" + cb_manager.Text + "')";
dbcom = new OleDbCommand(q, con);
dbcom.ExecuteNonQuery();
MessageBox.Show("New Employee '" + tb_name.Text + "'- Successfuly Added.");
}
}
else
{ MessageBox.Show("Employee name '" + tb_name.Text + "' already added into the database"); }
ds.Dispose();
}
I'm using Microsoft Access 2010 as my database and this is stand alone system. Please help me.