public string DoSave() { string retval = "0"; SqlTransaction tran = null; var cn = new SqlConnection(_constr); try { bool isnew = false; cn.Open(); var ta = new DsMasterTableAdapters.INSCUSTOMERSTableAdapter { Connection = { ConnectionString = _constr } }; var dt = new DsMaster().INSCUSTOMERS; ta.Fill(dt); tran = cn.BeginTransaction(IsolationLevel.ReadUncommitted); ta.AssignConnection(cn, tran); var dr = dt.FindByTID(InscustomersRow.TID); if (dr != null) { dr.BeginEdit(); } else { isnew = true; dr = (DsMaster.INSCUSTOMERSRow)dt.NewRow(); dr.FILENO = InscustomersRow.FILENO; dr.POLICYNO = InscustomersRow.POLICYNO; dr.CLASS = InscustomersRow.CLASS; dr.CUSTSHARE = InscustomersRow.CUSTSHARE; dr.PATNAME = InscustomersRow.PATNAME; dr.CUSTNO = InscustomersRow.CUSTNO; } if (isnew) { dt.Rows.Add(dr); ta.Update(dt); } else { dr.EndEdit(); ta.Update(dt); } tran.Commit(); retval = "1"; } catch (Exception ex) { retval = ex.ToString(); if (tran != null && cn.State == ConnectionState.Open) { tran.Rollback(); } } return retval; }