>>>public class MyDataAccess >>>{ >>> protected SqlConnection oConnection; >>> >>> public MyDataAccess >>> { >>> // Note that I wouldn't actually hard-code the connection string like this. It should be in >>> // your config settings. All the examples I currently have, use the old 1.1 way of doing this, >>> // which is this: >>> // string MyConnString = ConfigurationSettings.AppSettings["ConnectionString"]; >>> >>> this.oConnection = new SqlConnection("server=(local);database=MyDataBase;uid=sa;pwd=MyPassword"); >>> } >>>} >>>>>>
>>>public DataSet GetMyData() >>>{ >>> // Note that a Fill does not require a Connection Open/Close. The Fill leaves >>> // the connection in the state it was found (leaves it open if it was open, >>> // and if it was closed, it opens it, Fills, then closes again). >>> >>> SqlDataAdapter da = new SqlDataAdapter("select * from bob", this.oConnection); >>> DataSet ds = new DataSet(); >>> da.Fill(ds, "MyTable"); >>> >>> return ds; >>>} >>>>>>
>>>public void UpdateMyData(DataSet ds) >>>{ >>> // The same applies for the Update. It's not necessary to Open/Close the connection. >>> SqlDataAdapter da = new SqlDataAdapter("select * from bob", this.oConnection); >>> SqlCommandBuilder sb = new SqlCommandBuilder(da); >>> >>> da.Update(ds); >>>} >>>>>>
>>>public void UpdateMyData(DataSet ds) >>>{ >>> >>> SqlCommand sc = new SqlCommand(); >>> sc.Connection = this.oConnection; >>> da = new SqlDataAdapter(sc); >>> >>> da.InsertCommand = new SqlCommand("Insert into bob (xyz, abc) VALUES ( @xyz, @abc )", sc.Connection); >>> da.InsertCommand.Parameters.Add("@xyz", SqlDbType.Int, 8, "xyz"); >>> da.InsertCommand.Parameters.Add("@abc", SqlDbType.VarChar, 50, "abc"); >>> >>> // do the same for da.DeleteCommand & da.UpdateCommand >>> >>> da.Update(ds); >>>} >>>>>>
>>>public void UpdateMyData(DataSet ds) >>>{ >>> SqlCommand sc = new SqlCommand(); >>> sc.Connection = this.oConnection; >>> sc.Connection.Open(); >>> foreach (DataRow Row in ds.Tables[0].Rows) >>> { >>> switch (Row.RowState) >>> { >>> case DataRowState.Added : >>> sc.CommandText = "Insert into bob (xyz, abc) VALUES ( @xyz, @abc )"; >>> sc.Parameters.Clear(); >>> sc.Parameters.Add("@xyz", Row["xyz"]); >>> sc.Parameters.Add("@abc", Row["abc"]); >>> sc.ExecuteNonQuery(); >>> break; >>> >>> // Do the same for DataRowState Deleted and Modified >>> case DataRowState.Deleted : >>> break; >>> case DataRowState.Modified : >>> break; >>> } >>> } >>> sc.Connection.Close(); >>>} >>>>>>