class AssetRegister { #region fields public OleDbDataAdapter da; public OleDbDataAdapter da2; public DataTable dt; public DataTable dt2; public OleDbCommand cmd; public OleDbCommand cmd2; public OleDbCommandBuilder cmb; public OleDbCommandBuilder cmb2; public string conString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\AssetReg.accdb"; public string sql1; public string sql2; BindingSource bnd = new BindingSource(); BindingSource bnd2 = new BindingSource();
public DataSet ds; public DataSet ds2; public OleDbConnection con; public DataRow dr; public DataRow drUpdate; ToolTip toolt; #endregion
#region Connection Method /*-------------------------------------------------------------------------------- * public method * Overloaded : No * Parameters : No * Return Value : bool(true or false) * Purpose: creates a connection to the database,a DataAdapter, a DataSet and returns true if all ok otherwise false * ------------------------------------------------------------------------------*/ public bool FnGetDataConnection() { try { con = new OleDbConnection(conString); this.sql1 = "Select * from User_Details order by Rank,Initials and Surname"; con.Open(); cmd = new OleDbCommand(sql1, con); da = new OleDbDataAdapter(cmd); cmb = new OleDbCommandBuilder(da); ds = new DataSet(); da.Fill(ds, "User_Details"); dt = ds.Tables["User_Details"]; bnd.DataSource = ds.Tables["User_Details"]; toolt = new ToolTip(); } catch (Exception ex) { MessageBox.Show("Error",ex.Message); //conection failed return false; }//end catch
//connection ok return true; }
#endregion #region Connection Function for Hardware Tab //This Function establish connection for HardwareInfor Tab only public bool FnGetDataConnection2(string rank,string initSurname,string fNumber) { this.sql2 = "select * from User_Details" + "inner join Hardware_Info on Hardware_Info.Force Number = User_Details.Force Number" + "where (User_Details.Rank='" + rank + "') or (User_Details.Initials and Surname='" + initSurname + "')" + "order by User_Details.Rank,User_Details.Initials and Surname ";
try { con = new OleDbConnection(conString); da = new OleDbDataAdapter(this.sql2, con); //refresh row in dataset ds = new DataSet(); da.Fill(ds, "User_Details");
}//end try catch (Exception ex) { MessageBox.Show("Error", "Connection", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }//catch
//connection ok return true; } #endregion
}//end class
}//end namespace
private void Asset_Register_Load(object sender, EventArgs e) { //check connection to database if (this.assetCon.FnGetDataConnection()) { this.assetdg.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGreen; this.assetdg.SelectionMode = DataGridViewSelectionMode.FullRowSelect; this.assetdg.DataSource = assetCon.ds.Tables["User_Details"]; //invoke method for databindings for textboxes fnGetDataBindingForUser_Details(); //set currencyManager fnSetCurrencyManger(); } else { //connection failed MessageBox.Show("Connection Failed","Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit();//exit program } //Here i will include function calls and data connetion and databinding function to textboxes // string sql2 = "Select* from Hardware_Info"; // cmd2 = new OleDbCommand(sql2, con) // da2 = new OleDbDataAdapter(cmd2); // cmb2 = new OleDbCommandBuilder(da2); //ds2 = new DataSet(); /* bnd2.DataSource = ds2.Tables["Hardware_Info"]; // toolt = new ToolTip(); this.assetdg.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkSeaGreen; this.hwdg.AlternatingRowsDefaultCellStyle.BackColor = Color.Aquamarine; con.Close(); assetdg.DataSource = bnd; hwdg.DataSource = bnd2;*/ }
message->"NO VALUE GIVEN FOR ONE OR MORE REQUIRED PARAMETERS",I'm struggling to trace the problem please can anyone assist,i'm trying to join two tables i.e Parent and child if I update record from parent the related record in child table must also be updated.
Attachment: test.zip