public void AcceptChanges() { var ds = new DataSet(); DataTable dtP = DataProvider.CreateParentDataTable(); DataTable dtC = DataProvider.CreateChildDataTable(); ds.Tables.Add(dtP); ds.Tables.Add(dtC); ds.Relations.Add(new DataRelation("myRelation", dtP.Columns[0], dtC.Columns[0])); //create changes dtP.Rows[0][0] = "70"; dtP.Rows[1].Delete(); dtP.Rows.Add(new object[] { 9, "string1", "string2" }); // AcceptChanges ds.AcceptChanges(); Assert.Equal(null, dtP.GetChanges()); //read only exception dtP.Columns[0].ReadOnly = true; // check ReadOnlyException Assert.Throws<ReadOnlyException>(() => dtP.Rows[0][0] = 99); // check invoke AcceptChanges ds.AcceptChanges(); }
private string Foo(int longIndexName, DataSet ds) { string Key = ds.Tables[0].Rows[0]["Key"].ToString(); if (!string.IsNullOrEmpty(Key) && Key != "SAMP") { try { ds.Tables[0].Rows[0]["Key"] = Encoding.ASCII.GetString(PerfFormOp(Convert.FromBase64String(Key), longIndexName)); ds.AcceptChanges(); } catch (Exception ex) { Logging.Post(ex); } } return ds.GetXml(); }
public void Generate() { var ds = new DataSet(); ds.Tables.Add(DataProvider.CreateParentDataTable()); ds.Tables.Add(DataProvider.CreateChildDataTable()); ds.Relations.Add(new DataRelation("myRelation", ds.Tables[0].Columns[0], ds.Tables[1].Columns[0])); DataRow drParent = ds.Tables[0].Rows[0]; DataRow drChild = ds.Tables[1].Rows[0]; drParent.Delete(); drChild.Delete(); ds.AcceptChanges(); // RowNotInTableException - AcceptChanges Assert.Throws<RowNotInTableException>(() => { drParent.AcceptChanges(); }); // RowNotInTableException - GetChildRows Assert.Throws<RowNotInTableException>(() => { drParent.GetChildRows("myRelation"); }); // RowNotInTableException - ItemArray Assert.Throws<RowNotInTableException>(() => drParent.ItemArray); // RowNotInTableException - GetParentRows Assert.Throws<RowNotInTableException>(() => drChild.GetParentRows("myRelation")); // RowNotInTableException - RejectChanges Assert.Throws<RowNotInTableException>(() => drParent.RejectChanges()); // RowNotInTableException - SetParentRow Assert.Throws<RowNotInTableException>(() => drChild.SetParentRow(ds.Tables[0].Rows[1])); }
// Sauvegarde tous les changements effectué dans le dataset public void SaveDataSet(string tableName, DataSet dataSet) { if (dataSet.HasChanges() == false) { return; } switch (connType) { case ConnectionType.DATABASE_MSSQL: { try { var conn = new SqlConnection(connString); var adapter = new SqlDataAdapter("SELECT * from " + tableName, conn); var builder = new SqlCommandBuilder(adapter); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand = builder.GetUpdateCommand(); adapter.InsertCommand = builder.GetInsertCommand(); lock (dataSet) // lock dataset to prevent changes to it { adapter.ContinueUpdateOnError = true; DataSet changes = dataSet.GetChanges(); adapter.Update(changes, tableName); PrintDatasetErrors(changes); dataSet.AcceptChanges(); } conn.Close(); } catch (Exception ex) { throw new DatabaseException("Can not save table " + tableName, ex); } break; } case ConnectionType.DATABASE_ODBC: { try { var conn = new OdbcConnection(connString); var adapter = new OdbcDataAdapter("SELECT * from " + tableName, conn); var builder = new OdbcCommandBuilder(adapter); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand = builder.GetUpdateCommand(); adapter.InsertCommand = builder.GetInsertCommand(); DataSet changes; lock (dataSet) // lock dataset to prevent changes to it { adapter.ContinueUpdateOnError = true; changes = dataSet.GetChanges(); adapter.Update(changes, tableName); dataSet.AcceptChanges(); } PrintDatasetErrors(changes); conn.Close(); } catch (Exception ex) { throw new DatabaseException("Can not save table ", ex); } break; } case ConnectionType.DATABASE_MYSQL: { return; } case ConnectionType.DATABASE_OLEDB: { try { var conn = new OleDbConnection(connString); var adapter = new OleDbDataAdapter("SELECT * from " + tableName, conn); var builder = new OleDbCommandBuilder(adapter); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand = builder.GetUpdateCommand(); adapter.InsertCommand = builder.GetInsertCommand(); DataSet changes; lock (dataSet) // lock dataset to prevent changes to it { adapter.ContinueUpdateOnError = true; changes = dataSet.GetChanges(); adapter.Update(changes, tableName); dataSet.AcceptChanges(); } PrintDatasetErrors(changes); conn.Close(); } catch (Exception ex) { throw new DatabaseException("Can not save table", ex); } break; } } }
/// <summary> /// 列表页面独有的数据 /// </summary> public void ArticleClassPage() { int category_id = MyCommFun.RequestInt("cid"); //--=====begin: 将这个列表(文章类别)的基本信息展示出来 ====-- Model.article_category category = tDal.GetCategoryByWid(wid, category_id); this.Document.SetValue("category", category); //--=====end: 将这个列表(文章类别)的基本信息展示出来 ====-- Tag orderByTag = this.Document.GetChildTagById("norderby"); string orderby = orderByTag.Attributes["value"].Value.ToString(); Tag pagesizeTag = this.Document.GetChildTagById("npagesize"); string pagesizeStr = pagesizeTag.Attributes["value"].Value.ToString(); int currPage = 1; //当前页面 int recordCount = 0; //总记录数 int totPage = 1; //总页数 int pageSize = MyCommFun.Str2Int(pagesizeStr); //每页的记录数 if (pageSize <= 0) { pageSize = 10; } if (MyCommFun.RequestInt("page") > 0) { currPage = MyCommFun.RequestInt("page"); } DataSet artlist = new DataSet(); if (category_id != 0) { DAL.article artDal = new DAL.article(); artlist = artDal.GetList("news", category_id, pageSize, currPage, "wid=" + wid, orderby, out recordCount); if (artlist != null && artlist.Tables.Count > 0 && artlist.Tables[0].Rows.Count > 0) { DataRow dr; for (int i = 0; i < artlist.Tables[0].Rows.Count; i++) { dr = artlist.Tables[0].Rows[i]; if (dr["link_url"] != null && dr["link_url"].ToString().Trim().Length > 0) { dr["link_url"] = MyCommFun.urlAddOpenid(dr["link_url"].ToString().Trim(), openid); } else { dr["link_url"] = MyCommFun.urlAddOpenid("detail.aspx?wid=" + wid + "&aid=" + dr["id"].ToString(), openid); } artlist.AcceptChanges(); } totPage = recordCount / pageSize; int yushu = recordCount % pageSize; if (yushu > 0) { totPage += 1; } if (totPage < 1) { totPage = 1; } } if (currPage > totPage) { currPage = totPage; } } else { currPage = 1; recordCount = 0; totPage = 1; } this.Document.SetValue("totPage", totPage); //总页数 this.Document.SetValue("currPage", currPage); //当前页 this.Document.SetValue("newslist", artlist); //文章列表 string beforePageStr = ""; //上一页 string nextPageStr = ""; //下一页 string bgrey = "c-p-grey"; string ngrey = "c-p-grey"; if (currPage <= 1) { beforePageStr = ""; bgrey = "c-p-grey"; } else { beforePageStr = MyCommFun.ChangePageNum(MyCommFun.getTotalUrl(), (currPage - 1)); beforePageStr = "href=\"" + beforePageStr + "\""; bgrey = ""; } if (currPage >= totPage) { nextPageStr = ""; ngrey = " c-p-grey"; } else { nextPageStr = MyCommFun.ChangePageNum(MyCommFun.getTotalUrl(), (currPage + 1)); nextPageStr = "href=\"" + nextPageStr + "\""; ngrey = ""; } this.Document.SetValue("bpage", beforePageStr); //上一页 this.Document.SetValue("npage", nextPageStr); //下一页 this.Document.SetValue("bgrey", bgrey); //上一页灰色的样式 this.Document.SetValue("ngrey", ngrey); //下一页灰色的样式 }
public async void Initialize(string trustedStorePath, string issuerStorePath, string rejectedStorePath) { CertificatesTable.Rows.Clear(); m_trustedStorePath = trustedStorePath; m_issuerStorePath = issuerStorePath; m_rejectedStorePath = rejectedStorePath; if (!String.IsNullOrEmpty(trustedStorePath)) { using (ICertificateStore store = CreateStore(trustedStorePath)) { X509CertificateCollection certificates = await store.Enumerate(); foreach (X509Certificate2 certificate in certificates) { List <X509CRL> crls = new List <X509CRL>(); if (store.SupportsCRLs) { foreach (X509CRL crl in store.EnumerateCRLs(certificate)) { crls.Add(crl); } } AddCertificate(certificate, Status.Trusted, crls); } } } string path1 = Utils.GetAbsoluteDirectoryPath(trustedStorePath, true, false, false); string path2 = Utils.GetAbsoluteDirectoryPath(issuerStorePath, true, false, false); if (String.Compare(path1, path2, StringComparison.OrdinalIgnoreCase) != 0) { if (!String.IsNullOrEmpty(issuerStorePath)) { using (ICertificateStore store = CreateStore(issuerStorePath)) { X509Certificate2Collection certificates = await store.Enumerate(); foreach (X509Certificate2 certificate in certificates) { List <X509CRL> crls = new List <X509CRL>(); if (store.SupportsCRLs) { foreach (X509CRL crl in store.EnumerateCRLs(certificate)) { crls.Add(crl); } } AddCertificate(certificate, Status.Issuer, crls); } } } } if (!String.IsNullOrEmpty(rejectedStorePath)) { using (ICertificateStore store = CreateStore(rejectedStorePath)) { X509Certificate2Collection certificates = await store.Enumerate(); foreach (X509Certificate2 certificate in certificates) { AddCertificate(certificate, Status.Rejected, null); } } } m_dataset.AcceptChanges(); NoDataWarningLabel.Visible = CertificatesTable.Rows.Count == 0; }
public void SerializeDataSet2() { DataSet quota = new DataSet("Quota"); // Dimension DataTable dt = new DataTable("Dimension"); quota.Tables.Add(dt); dt.Columns.Add("Number", typeof(int)); dt.Columns["Number"].AllowDBNull = false; dt.Columns["Number"].ColumnMapping = MappingType.Attribute; dt.Columns.Add("Title", typeof(string)); dt.Columns["Title"].AllowDBNull = false; dt.Columns["Title"].ColumnMapping = MappingType.Attribute; dt.Rows.Add(new object[] { 0, "Hospitals" }); dt.Rows.Add(new object[] { 1, "Doctors" }); dt.Constraints.Add("PK_Dimension", dt.Columns["Number"], true); quota.AcceptChanges(); XmlSerializer ser = new XmlSerializer(quota.GetType()); StringWriter sw = new StringWriter(); ser.Serialize(sw, quota); DataSet ds = (DataSet)ser.Deserialize(new StringReader(sw.ToString())); }
public void WriteXmlModeSchema() { // This is the MS output of WriteXmlSchema(). string xml = @"<Example> <xs:schema id=""Example"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> " + @" <xs:element name=""Example"" msdata:IsDataSet=""true"" msdata:UseCurrentLocale=""true"">" + @" <xs:complexType> <xs:choice minOccurs=""0"" maxOccurs=""unbounded""> <xs:element name=""Dimension""> <xs:complexType> <xs:sequence> <xs:element name=""Number"" type=""xs:int"" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=""Element""> <xs:complexType> <xs:sequence> <xs:element name=""Dimension"" type=""xs:int"" /> <xs:element name=""Number"" type=""xs:int"" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name=""PK_Dimension"" msdata:PrimaryKey=""true""> <xs:selector xpath="".//Dimension"" /> <xs:field xpath=""Number"" /> </xs:unique> <xs:unique name=""PK_Element"" msdata:PrimaryKey=""true""> <xs:selector xpath="".//Element"" /> <xs:field xpath=""Dimension"" /> <xs:field xpath=""Number"" /> </xs:unique> <xs:keyref name=""FK_Element_To_Dimension"" refer=""PK_Dimension""> <xs:selector xpath="".//Element"" /> <xs:field xpath=""Dimension"" /> </xs:keyref> </xs:element> </xs:schema> <Dimension> <Number>0</Number> </Dimension> <Dimension> <Number>1</Number> </Dimension> <Element> <Dimension>0</Dimension> <Number>0</Number> </Element> <Element> <Dimension>0</Dimension> <Number>1</Number> </Element> <Element> <Dimension>0</Dimension> <Number>2</Number> </Element> <Element> <Dimension>0</Dimension> <Number>3</Number> </Element> <Element> <Dimension>1</Dimension> <Number>0</Number> </Element> <Element> <Dimension>1</Dimension> <Number>1</Number> </Element> </Example>"; DataSet ds = new DataSet("Example"); // Dimension DataTable DataTable dt1 = new DataTable("Dimension"); ds.Tables.Add(dt1); dt1.Columns.Add(new DataColumn("Number", typeof(int))); dt1.Columns["Number"].AllowDBNull = false; dt1.Constraints.Add("PK_Dimension", dt1.Columns["Number"], true); // Element DataTable DataTable dt2 = new DataTable("Element"); ds.Tables.Add(dt2); dt2.Columns.Add(new DataColumn("Dimension", typeof(int))); dt2.Columns["Dimension"].AllowDBNull = false; dt2.Columns.Add(new DataColumn("Number", typeof(int))); dt2.Columns["Number"].AllowDBNull = false; dt2.Constraints.Add("PK_Element", new DataColumn[] { dt2.Columns ["Dimension"], dt2.Columns ["Number"] }, true); // Add DataRelations ds.Relations.Add("FK_Element_To_Dimension", dt1.Columns["Number"], dt2.Columns["Dimension"], true); // Add 2 Dimensions for (int i = 0; i < 2; i++) { DataRow newRow = dt1.NewRow(); newRow["Number"] = i; dt1.Rows.Add(newRow); } // Dimension 0 => 4 Elements for (int i = 0; i < 4; i++) { DataRow newRow = dt2.NewRow(); newRow["Dimension"] = 0; newRow["Number"] = i; dt2.Rows.Add(newRow); } // Dimension 1 => 2 Elements for (int i = 0; i < 2; i++) { DataRow newRow = dt2.NewRow(); newRow["Dimension"] = 1; newRow["Number"] = i; dt2.Rows.Add(newRow); } ds.AcceptChanges(); StringWriter sw = new StringWriter(); ds.WriteXml(sw, XmlWriteMode.WriteSchema); string result = sw.ToString(); Assert.Equal(result.Replace("\r\n", "\n"), xml.Replace("\r\n", "\n")); }
public void WriteXmlSchema3() { string xmlschema = @"<?xml version=""1.0"" encoding=""utf-16""?> <xs:schema id=""ExampleDataSet"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> <xs:element name=""ExampleDataSet"" msdata:IsDataSet=""true"" "; xmlschema = xmlschema + "msdata:UseCurrentLocale=\"true\""; xmlschema = xmlschema + @"> <xs:complexType> <xs:choice minOccurs=""0"" maxOccurs=""unbounded""> <xs:element name=""ExampleDataTable""> <xs:complexType> <xs:attribute name=""PrimaryKeyColumn"" type=""xs:int"" use=""required"" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name=""PK_ExampleDataTable"" msdata:PrimaryKey=""true""> <xs:selector xpath="".//ExampleDataTable"" /> <xs:field xpath=""@PrimaryKeyColumn"" /> </xs:unique> </xs:element> </xs:schema>"; DataSet ds = new DataSet("ExampleDataSet"); ds.Tables.Add(new DataTable("ExampleDataTable")); ds.Tables["ExampleDataTable"].Columns.Add( new DataColumn("PrimaryKeyColumn", typeof(int), "", MappingType.Attribute)); ds.Tables["ExampleDataTable"].Columns["PrimaryKeyColumn"].AllowDBNull = false; ds.Tables["ExampleDataTable"].Constraints.Add( "PK_ExampleDataTable", ds.Tables["ExampleDataTable"].Columns["PrimaryKeyColumn"], true); ds.AcceptChanges(); StringWriter sw = new StringWriter(); ds.WriteXmlSchema(sw); string result = sw.ToString(); Assert.Equal(result.Replace("\r\n", "\n"), xmlschema.Replace("\r\n", "\n")); }
/// <summary> /// Writes all Changes in a Dataset to the Table /// </summary> /// <param name="tableName">Name of the Table to update</param> /// <param name="dataSet">DataSet set contains the Changes that sould be written</param> /// <exception cref="DatabaseException"></exception> public void SaveDataSet(string tableName, DataSet dataSet) { if (dataSet.HasChanges() == false) { return; } switch (connType) { case ConnectionType.DATABASE_XML: { try { dataSet.WriteXml(connString + tableName + ".xml"); dataSet.AcceptChanges(); dataSet.WriteXmlSchema(connString + tableName + ".xsd"); } catch (Exception e) { throw new DatabaseException("Could not save Databases in XML-Files!", e); } break; } case ConnectionType.DATABASE_MYSQL: { try { MySqlConnection conn = new MySqlConnection(connString); MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * from `" + tableName + "`", conn); MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter); conn.Open(); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand = builder.GetUpdateCommand(); adapter.InsertCommand = builder.GetInsertCommand(); DataSet changes = dataSet.GetChanges(); adapter.Update(changes, tableName); dataSet.AcceptChanges(); } catch (Exception ex) { throw new DatabaseException("Could not save the Database-Table", ex); } break; } /* case ConnectionType.DATABASE_MSSQL: * { * try * { * SqlConnection conn = new SqlConnection(connString); * SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from " + tableName, conn); * SqlCommandBuilder builder = new SqlCommandBuilder(adapter); * * adapter.DeleteCommand = builder.GetDeleteCommand(); * adapter.UpdateCommand = builder.GetUpdateCommand(); * adapter.InsertCommand = builder.GetInsertCommand(); * * DataSet changes = dataSet.GetChanges(); * * adapter.Update(changes, tableName); * dataSet.AcceptChanges(); * } * catch (Exception ex) * { * throw new DatabaseException("Could not save the Database-Table", ex); * } * * break; * } * case ConnectionType.DATABASE_ODBC: * { * try * { * OdbcConnection conn = new OdbcConnection(connString); * OdbcDataAdapter adapter = new OdbcDataAdapter("SELECT * from " + tableName, conn); * OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter); * * adapter.DeleteCommand = builder.GetDeleteCommand(); * adapter.UpdateCommand = builder.GetUpdateCommand(); * adapter.InsertCommand = builder.GetInsertCommand(); * * DataSet changes = dataSet.GetChanges(); * * adapter.Update(changes, tableName); * dataSet.AcceptChanges(); * } * catch (Exception ex) * { * throw new DatabaseException("Could not save the Database-Table", ex); * } * * break; * } * case ConnectionType.DATABASE_OLEDB: * { * try * { * OleDbConnection conn = new OleDbConnection(connString); * OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from " + tableName, conn); * OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter); * * adapter.DeleteCommand = builder.GetDeleteCommand(); * adapter.UpdateCommand = builder.GetUpdateCommand(); * adapter.InsertCommand = builder.GetInsertCommand(); * * DataSet changes = dataSet.GetChanges(); * * adapter.Update(changes, tableName); * dataSet.AcceptChanges(); * } * catch (Exception ex) * { * throw new DatabaseException("Could not save the Database-Table", ex); * } * break; * }*/ } }
protected void btnSave_Click(object sender, EventArgs e) { DataSet theDataSet = new DataSet(); theDataSet.ReadXml(Server.MapPath("AllTeams/dbusers.cs")); DataTable dt = theDataSet.Tables[0]; if (Request.QueryString["ucode"] != null) { DataRow[] drow = dt.Select("UCode = '" + txtUserCode.Text + "'"); if (txtPassword.Text != null && txtPassword.Text != "") { drow[0]["Password"] = txtPassword.Text; } drow[0]["Name"] = txtName.Text; drow[0]["Email"] = txtEmail.Text; //drow[0]["TCode"] = SessionManager.LoggedInTCode; drow[0]["IsActive"] = chkActive.Checked; drow[0]["Remarks"] = txtRemarks.Text; //dt.Rows.Add(drow); dt.AcceptChanges(); theDataSet.AcceptChanges(); String xmldata = CommonUtility.DSToXml(theDataSet); File.WriteAllText(Server.MapPath("AllTeams/dbusers.cs"), xmldata); Response.Redirect("UserDetails.aspx?ucode=" + txtUserCode.Text); } else { DataRow[] drow = dt.Select("UCode = '" + txtUserCode.Text + "'"); if (drow.Length > 0) { ScriptManager.RegisterClientScriptBlock(btnSave, btnSave.GetType(), "btnSave", "alert('User Code not available. Please use another user code.')", true); return; } DataRow row; row = dt.NewRow(); row["UCode"] = txtUserCode.Text; row["Password"] = txtPassword.Text; row["Name"] = txtName.Text; row["Email"] = txtEmail.Text; row["TCode"] = SessionManager.LoggedInTCode; row["IsActive"] = chkActive.Checked; row["Remarks"] = txtRemarks.Text; dt.Rows.Add(row); dt.AcceptChanges(); theDataSet.AcceptChanges(); String xmldata = CommonUtility.DSToXml(theDataSet); File.WriteAllText(Server.MapPath("AllTeams/dbusers.cs"), xmldata); String userFile = Server.MapPath("AllTeams/" + SessionManager.LoggedInTCode + "/" + txtUserCode.Text); System.IO.Directory.CreateDirectory(userFile); Response.Redirect("UserDetails.aspx?ucode=" + txtUserCode.Text); } }
public static string DataSetToXMLStr(DataSet dsSrc) { DataSet ds = dsSrc.Copy(); foreach (DataTable t in ds.Tables) { //add IUD if (!t.Columns.Contains("IUD")) { t.Columns.Add("IUD", System.Type.GetType("System.String")); } //remove not null foreach (DataColumn c in t.Columns) { if (c.AllowDBNull == false) { c.AllowDBNull = true; } } } foreach (DataTable t in ds.Tables) { foreach (DataRow r in t.Rows) { if (r.RowState == DataRowState.Unchanged) { continue; } switch (r.RowState) { case DataRowState.Added: r["IUD"] = "I"; break; case DataRowState.Modified: r["IUD"] = "U"; break; case DataRowState.Deleted: r.RejectChanges(); r["IUD"] = "D"; break; default: break; } } } //update parent records foreach (DataTable t in ds.Tables) { if (t.ParentRelations.Count == 0) { continue; } foreach (DataRelation rel in t.ParentRelations) { foreach (DataColumn c in rel.ChildColumns) { if (!c.ExtendedProperties.ContainsKey("KEY")) { c.ExtendedProperties.Add("KEY", "Y"); } } foreach (DataColumn c in rel.ParentColumns) { if (!c.ExtendedProperties.ContainsKey("KEY")) { c.ExtendedProperties.Add("KEY", "Y"); } } } foreach (DataRow r in t.Rows) { if (r.RowState == DataRowState.Unchanged) { continue; } foreach (DataRelation rel in t.ParentRelations) { DataRow pr = r.GetParentRow(rel); if (pr.RowState == DataRowState.Unchanged && pr["IUD"] == DBNull.Value) { pr["IUD"] = "N"; } } } } foreach (DataTable t in ds.Tables) { foreach (DataRow r in t.Rows) { if (r.RowState == DataRowState.Deleted) { continue; } if (r["IUD"] == DBNull.Value) { r.Delete(); continue; } if ((String)r["IUD"] == "D" || (String)r["IUD"] == "N") { foreach (DataColumn c in t.Columns) { if (c.ColumnName == "IUD") { continue; } if (c.ReadOnly) { c.ReadOnly = false; } if (!c.ExtendedProperties.ContainsKey("KEY")) { r[c] = DBNull.Value; } } continue; } } } //clear all readonly foreach (DataTable t in ds.Tables) { foreach (DataColumn c in t.Columns) { if (c.ReadOnly == false) { continue; } if (c.ExtendedProperties.ContainsKey("KEY")) { continue; } c.ReadOnly = false; foreach (DataRow r in t.Rows) { if (r.RowState != DataRowState.Deleted) { r[c] = DBNull.Value; } } } } ds.AcceptChanges(); return(ds.GetXml()); }
private DataSet ReadDataSet() { var dataset = new DataSet(); Dictionary<int, XlsxDimension> demensionDict = DetectDemension(); for (int sheetIndex = 0; sheetIndex < m_workbook.Sheets.Count; sheetIndex++) { XlsxWorksheet sheet = m_workbook.Sheets[sheetIndex]; var table = new DataTable(m_workbook.Sheets[sheetIndex].Name); ReadSheetGlobals(sheet); sheet.Dimension = demensionDict[sheetIndex]; if (sheet.Dimension == null) { continue; } m_depth = 0; m_emptyRowCount = 0; // Reada Columns if (!m_isFirstRowAsColumnNames) { // No Sheet Columns for (int i = 0; i < sheet.ColumnsCount; i++) { table.Columns.Add(i.ToString(CultureInfo.InvariantCulture), typeof(Object)); } } else if (ReadSheetRow(sheet)) { // Read Sheet Columns Debug.Assert(m_cellsValues!=null); for (int index = 0; index < m_cellsValues.Length; index++) { if (m_cellsValues[index] != null && m_cellsValues[index].ToString().Length > 0) { table.AddColumnHandleDuplicate(m_cellsValues[index].ToString()); } else { table.AddColumnHandleDuplicate(string.Concat(COLUMN, index)); } } } else { continue; } // Read Sheet Rows table.BeginLoadData(); while (ReadSheetRow(sheet)) { table.Rows.Add(m_cellsValues); } if (table.Rows.Count > 0) { dataset.Tables.Add(table); } // Read HyperLinks ReadHyperLinks(sheet, table); table.EndLoadData(); } dataset.AcceptChanges(); dataset.FixDataTypes(); return dataset; }
public void RowStateFilter_2() { DataSet dataset = new DataSet("new"); DataTable dt = new DataTable("table1"); dataset.Tables.Add(dt); dt.Columns.Add("col1"); dt.Columns.Add("col2"); dt.Rows.Add(new object[] { 1, 1 }); dt.Rows.Add(new object[] { 1, 2 }); dt.Rows.Add(new object[] { 1, 3 }); dataset.AcceptChanges(); DataView dataView = new DataView(dataset.Tables[0]); // 'new' table in this sample contains 6 records dataView.AllowEdit = true; dataView.AllowDelete = true; string v; // Editing the row dataView[0]["col1"] = -1; dataView.RowStateFilter = DataViewRowState.ModifiedOriginal; v = dataView[0][0].ToString(); Assert.Equal(1, dataView.Count); Assert.Equal("1", v); // Deleting the row dataView.Delete(0); dataView.RowStateFilter = DataViewRowState.Deleted; v = dataView[0][0].ToString(); Assert.Equal(1, dataView.Count); Assert.Equal("1", v); }
// https://bugzilla.novell.com/show_bug.cgi?id=650402 public void ForeignKey_650402() { DataSet data = new DataSet(); DataTable parent = new DataTable("parent"); DataColumn pk = parent.Columns.Add("PK"); DataTable child = new DataTable("child"); DataColumn fk = child.Columns.Add("FK"); data.Tables.Add(parent); data.Tables.Add(child); data.Relations.Add(pk, fk); parent.Rows.Add("value"); child.Rows.Add("value"); data.AcceptChanges(); child.Rows[0].Delete(); parent.Rows[0][0] = "value2"; data.EnforceConstraints = false; data.EnforceConstraints = true; }
public ApplicationRecordDataType ShowDialog(IWin32Window owner, IList <ApplicationRecordDataType> records, NodeId defaultRecord) { ApplicationsTable.Rows.Clear(); DataRow selectedRow = null; if (records != null) { foreach (var record in records) { DataRow row = ApplicationsTable.NewRow(); if (selectedRow == null && defaultRecord != null) { if (defaultRecord == record.ApplicationId) { selectedRow = row; } } row[0] = record.ApplicationId; row[1] = (record.ApplicationNames != null && record.ApplicationNames.Count > 0 && !LocalizedText.IsNullOrEmpty(record.ApplicationNames[0]))?record.ApplicationNames[0].Text:String.Empty; row[2] = record.ApplicationType; row[3] = record.ProductUri; StringBuilder buffer = new StringBuilder(); if (record.DiscoveryUrls != null) { foreach (var url in record.DiscoveryUrls) { if (buffer.Length > 0) { buffer.Append(','); } buffer.Append(url); } } row[4] = buffer.ToString(); buffer = new StringBuilder(); if (record.ServerCapabilities != null) { foreach (var id in record.ServerCapabilities) { if (buffer.Length > 0) { buffer.Append(','); } buffer.Append(id); } } row[5] = buffer.ToString(); row[6] = record; ApplicationsTable.Rows.Add(row); } m_dataset.AcceptChanges(); } if (selectedRow != null) { foreach (DataGridViewRow row in ApplicationRecordDataGridView.Rows) { DataRowView source = row.DataBoundItem as DataRowView; if (Object.ReferenceEquals(source.Row, selectedRow)) { row.Selected = true; break; } } } if (base.ShowDialog(owner) != DialogResult.OK) { return(null); } if (ApplicationRecordDataGridView.SelectedRows.Count > 0) { DataRowView source = ApplicationRecordDataGridView.SelectedRows[0].DataBoundItem as DataRowView; return((ApplicationRecordDataType)source.Row[6]); } return(null); }
private void btnDelete_Click(object sender, EventArgs e) { if (selectedRowIndex < 0) { string str = WorkingContext.LangManager.GetString("frmRegOverTime_Edit_messa"); string str1 = WorkingContext.LangManager.GetString("frmListRegRest_Delete_Title"); //MessageBox.Show("Bạn chưa chọn nhân viên nào!", "Xóa đăng ký nghỉ của nhân viên", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(str, str1, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DialogResult dr = MessageBox.Show("Bạn có thực sự muốn xóa? ", "Xóa đăng ký nghỉ của nhân viên", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { SqlConnection conn = WorkingContext.GetConnection(); SqlTransaction trans = null; int ret = 0; bool bUpdate = false; bool bUpdate1 = false; int iDayId = -1; try { conn.Open(); trans = conn.BeginTransaction(); iDayId = Convert.ToInt32(dsRegRestEmployee.Tables[0].Rows[selectedRowIndex]["DayID"]); int iEmployeeID = Convert.ToInt32(dsRegRestEmployee.Tables[0].Rows[selectedRowIndex]["EmployeeID"]); DateTime dtStartRest = Convert.ToDateTime(dsRegRestEmployee.Tables[0].Rows[selectedRowIndex]["StartRest"]); DateTime dtEndRest = Convert.ToDateTime(dsRegRestEmployee.Tables[0].Rows[selectedRowIndex]["EndRest"]); dsRegRestEmployee.Tables[0].Rows[selectedRowIndex].Delete(); //Xóa thông tin đăng ký nghỉ của nhân viên ret = regRestEmployee.DeleteRegRestEmployee(dsRegRestEmployee, trans); //Cập nhật lại số ngày nghỉ phép của nhân viên nếu là xóa đăng ký nghỉ phép if (ret == 1 && (iDayId == 200 || iDayId == 219)) { if (dtStartRest.Month == dtEndRest.Month) { bUpdate = regRestEmployee.UpdateRestSheetEmployee(iEmployeeID, dtStartRest, dtEndRest, dtStartRest, iDayId, trans); } else { bUpdate = regRestEmployee.UpdateRestSheetEmployee(iEmployeeID, dtStartRest, dtEndRest, dtStartRest, iDayId, trans); bUpdate = regRestEmployee.UpdateRestSheetEmployee(iEmployeeID, dtStartRest, dtEndRest, dtEndRest, iDayId, trans); } } dsRegRestEmployee.AcceptChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); if (trans != null) { trans.Rollback(); } trans.Dispose(); return; } bool bResultPri = false; if (iDayId != 200 && iDayId != 219) { if (ret == 1) { bResultPri = true; } } else { if (ret == 1 && bUpdate) { bResultPri = true; } } if (bResultPri) { trans.Commit(); trans.Dispose(); } else { trans.Rollback(); trans.Dispose(); } PopulateRestEmployee(); } selectedRowIndex = -1; tableModel1.Selections.Clear(); }
private void _My_Documento_PrintPageDetallado(object sender, System.Drawing.Printing.PrintPageEventArgs e) { PaperSize _My_Papel = new PaperSize("Carta_Mitad", 850, 510); string _Str_Impresora = this._My_PrintDialogo.PrinterSettings.PrinterName; string _Str_Sql = ""; float _Fl_Linea = 0; float _Fl_Y = 0; Graphics _My_Grafico = e.Graphics; e.PageSettings.PrinterSettings.PrinterName = _Str_Impresora; e.PageSettings.PaperSize = _My_Papel; _My_Grafico.PageUnit = GraphicsUnit.Millimeter; Font _My_Fuente = new Font("Verdana", 7, FontStyle.Regular); e.PageSettings.Margins.Top = 0; e.PageSettings.Margins.Left = 0; e.PageSettings.Margins.Right = 0; e.PageSettings.Margins.Bottom = 30; _MyAreaHeight = (e.PageSettings.PaperSize.Height - (e.PageSettings.Margins.Top + e.PageSettings.Margins.Bottom)); StringFormat _My_Sf = StringFormat.GenericTypographic; SizeF _My_Size = _My_Grafico.MeasureString("X", _My_Fuente, 1, _My_Sf); _Fl_Y = 30; RectangleF _My_RecCabecera = new RectangleF(65, _Fl_Y, 80, _My_Size.Height); RectangleF _My_RecFecha = new RectangleF(160, _Fl_Y, 50, _My_Size.Height); _Fl_Y = _Fl_Y + 10; RectangleF _My_RecProveedorName = new RectangleF(10, _Fl_Y, 180, _My_Size.Height); _Fl_Y = _Fl_Y + _My_Size.Height + 2; RectangleF _My_RecProveedorDirFis = new RectangleF(10, _Fl_Y, 180, _My_Size.Height); _Fl_Y = _Fl_Y + _My_Size.Height + 2; RectangleF _My_RecRif = new RectangleF(10, _Fl_Y, 150, _My_Size.Height); _My_Sf.Alignment = StringAlignment.Center; _My_Grafico.DrawString(this._Field_Titulo, _My_Fuente, Brushes.Black, _My_RecCabecera, _My_Sf); _My_Grafico.DrawString("Fecha: " + DateTime.Now.Date.ToShortDateString(), _My_Fuente, Brushes.Black, _My_RecFecha, _My_Sf); _My_Sf.Alignment = StringAlignment.Near; _My_Grafico.DrawString("Cliente: " + this._Field_ProveedorNameFiscal, _My_Fuente, Brushes.Black, _My_RecProveedorName, _My_Sf); string _Str_DirecFiscal = this._Field_DirecFiscal; if (_Str_DirecFiscal.Length > 100) { _Str_DirecFiscal = _Str_DirecFiscal.Substring(0, 100); } _My_Grafico.DrawString("Dirección fiscal: " + _Str_DirecFiscal, _My_Fuente, Brushes.Black, _My_RecProveedorDirFis, _My_Sf); _My_Grafico.DrawString("Rif: " + this._Field_Rif, _My_Fuente, Brushes.Black, _My_RecRif, _My_Sf); _Fl_Y = _Fl_Y + _My_Size.Height + 2; _My_Grafico.DrawString("Concepto: " + this._Field_Concepto, _My_Fuente, Brushes.Black, new RectangleF(10, _Fl_Y, 180, _My_Size.Height), _My_Sf); _Fl_Y = _Fl_Y + 5; _My_Grafico.DrawLine(new Pen(Color.Black, 0.2f), 5, _Fl_Y, 210, _Fl_Y); _Fl_Y = _Fl_Y + 2; _My_Grafico.DrawLine(new Pen(Color.Black, 0.2f), 5, _Fl_Y, 210, _Fl_Y); _Fl_Y = _Fl_Y + 2; _My_Sf.Alignment = StringAlignment.Near; _My_Grafico.DrawString("Código", _My_Fuente, Brushes.Black, new RectangleF(5, _Fl_Y, 20, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("Descripción", _My_Fuente, Brushes.Black, new RectangleF(26, _Fl_Y, 55, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString("Cajas", _My_Fuente, Brushes.Black, new RectangleF(82, _Fl_Y, 12, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("Unidades", _My_Fuente, Brushes.Black, new RectangleF(95, _Fl_Y, 12, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("Base grabada", _My_Fuente, Brushes.Black, new RectangleF(108, _Fl_Y, 16, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("Base exenta", _My_Fuente, Brushes.Black, new RectangleF(125, _Fl_Y, 16, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString("Invendible", _My_Fuente, Brushes.Black, new RectangleF(142, _Fl_Y, 15, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("Impuesto", _My_Fuente, Brushes.Black, new RectangleF(158, _Fl_Y, 18, _My_Size.Height), _My_Sf); _My_Grafico.DrawString("%Alic.", _My_Fuente, Brushes.Black, new RectangleF(177, _Fl_Y, 10, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString("Monto Total", _My_Fuente, Brushes.Black, new RectangleF(188, _Fl_Y, 19, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Near; _Fl_Y = _Fl_Y + 4; _My_Grafico.DrawLine(new Pen(Color.Black, 0.2f), 5, _Fl_Y, 210, _Fl_Y); _Fl_Y = _Fl_Y + 2; _My_Grafico.DrawLine(new Pen(Color.Black, 0.2f), 5, _Fl_Y, 210, _Fl_Y); _Fl_Y = _Fl_Y + 2; _My_Sf.Alignment = StringAlignment.Near; DataSet _Ds_A; float _Fl_LongConcepto = 64; string _Str_DescripProducto = ""; Int32 _Int_NumLinea = 1; float _Fl_Y_Temp = 0; for (int _I = 0; _I < _G_Ds_Detalle.Tables[0].Rows.Count; _I++) { if ((_Fl_Y * 4.0f) < _MyAreaHeight) { DataRow _Drow = _G_Ds_Detalle.Tables[0].Rows[_I]; _Fl_Y_Temp = 0; _Fl_Linea = 1; _Int_NumLinea = 0; _Str_DescripProducto = ""; _My_Sf.Alignment = StringAlignment.Near; _My_Grafico.DrawString(_Drow["cproducto"].ToString().Trim(), _My_Fuente, Brushes.Black, new RectangleF(5, _Fl_Y, 20, _My_Size.Height), _My_Sf); _Str_Sql = "SELECT RTRIM(produc_descrip) + ' ' + RTRIM(produc_descrip_2) FROM VST_PRODUCTOS WHERE cproducto='" + _Drow["cproducto"].ToString().Trim() + "'"; _Ds_A = Program._MyClsCnn._mtd_conexion._Mtd_RetornarDataset(_Str_Sql); if (_Ds_A.Tables[0].Rows.Count > 0) { _Str_DescripProducto = _Ds_A.Tables[0].Rows[0][0].ToString(); if (_My_Grafico.MeasureString(_Str_DescripProducto, _My_Fuente).Width > _Fl_LongConcepto) { _Fl_Linea = _My_Grafico.MeasureString(_Str_DescripProducto, _My_Fuente).Width / _Fl_LongConcepto; } else { _Fl_Linea = 1; } if (Math.Floor(_Fl_Linea) < _Fl_Linea) { _Int_NumLinea = Convert.ToInt32(Math.Floor(_Fl_Linea)) + 2; } else { _Int_NumLinea = Convert.ToInt32(Math.Floor(_Fl_Linea)) + 1; } _My_Sf.Alignment = StringAlignment.Near; _My_Grafico.DrawString(_Str_DescripProducto, _My_Fuente, Brushes.Black, new RectangleF(26, _Fl_Y, 55, (_My_Size.Height * _Int_NumLinea)), _My_Sf); _Fl_Y_Temp = (_My_Size.Height * (_Int_NumLinea - 1)); } else { _Fl_Y_Temp = _My_Size.Height; } _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["ccajas"]).ToString("#,##0"), _My_Fuente, Brushes.Black, new RectangleF(82, _Fl_Y, 13, _My_Size.Height), _My_Sf); _G_Dbl_Cajas = _G_Dbl_Cajas + Convert.ToDouble(_Drow["ccajas"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cunidades"]).ToString("#,##0"), _My_Fuente, Brushes.Black, new RectangleF(95, _Fl_Y, 13, _My_Size.Height), _My_Sf); _G_Dbl_Unidades = _G_Dbl_Unidades + Convert.ToDouble(_Drow["cunidades"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cbasegrabada"]).ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(108, _Fl_Y, 16, _My_Size.Height), _My_Sf); _G_Dbl_BaseGrabada = _G_Dbl_BaseGrabada + Convert.ToDouble(_Drow["cbasegrabada"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cbasexcenta"]).ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(125, _Fl_Y, 16, _My_Size.Height), _My_Sf); _G_Dbl_BaseExcenta = _G_Dbl_BaseExcenta + Convert.ToDouble(_Drow["cbasexcenta"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cmontoinvendi"]).ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(142, _Fl_Y, 15, _My_Size.Height), _My_Sf); _G_Dbl_Invendible = _G_Dbl_Invendible + Convert.ToDouble(_Drow["cmontoinvendi"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cimpuesto"]).ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(158, _Fl_Y, 18, _My_Size.Height), _My_Sf); _G_Dbl_Impuesto = _G_Dbl_Impuesto + Convert.ToDouble(_Drow["cimpuesto"]); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_Drow["calicuota"].ToString(), _My_Fuente, Brushes.Black, new RectangleF(177, _Fl_Y, 10, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(Convert.ToDouble(_Drow["cmontototal"]).ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(188, _Fl_Y, 19, _My_Size.Height), _My_Sf); _G_Dbl_MontoTotal = _G_Dbl_MontoTotal + Convert.ToDouble(_Drow["cmontototal"]); _G_Ds_Detalle.Tables[0].Rows.Remove(_Drow); _G_Ds_Detalle.AcceptChanges(); _I--; } _Fl_Y = _Fl_Y + _Fl_Y_Temp + 1; if ((_Fl_Y * 4.0f) > _MyAreaHeight) { //_Fl_Y = 0; //_My_Grafico.Dispose(); e.HasMorePages = true; //goto _Goto_Inicio; } } //ESTABLESCO LOS TOTALES if ((_Fl_Y * 4.0f) < _MyAreaHeight) { _My_Grafico.DrawLine(new Pen(Color.Black, 0.2f), 82, _Fl_Y, 210, _Fl_Y); _Fl_Y++; _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_Cajas.ToString("#,##0"), _My_Fuente, Brushes.Black, new RectangleF(82, _Fl_Y, 13, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_Unidades.ToString("#,##0"), _My_Fuente, Brushes.Black, new RectangleF(95, _Fl_Y, 13, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_BaseGrabada.ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(108, _Fl_Y, 16, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_BaseExcenta.ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(125, _Fl_Y, 16, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_Invendible.ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(142, _Fl_Y, 15, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_Impuesto.ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(158, _Fl_Y, 18, _My_Size.Height), _My_Sf); //_My_Sf.Alignment = StringAlignment.Far; //_My_Grafico.DrawString(_Drow["calicuota"].ToString(), _My_Fuente, Brushes.Black, new RectangleF(179, _Fl_Y, 10, _My_Size.Height), _My_Sf); _My_Sf.Alignment = StringAlignment.Far; _My_Grafico.DrawString(_G_Dbl_MontoTotal.ToString("#,##0.00"), _My_Fuente, Brushes.Black, new RectangleF(188, _Fl_Y, 19, _My_Size.Height), _My_Sf); } }
public DataSet AsDataSet(bool convertOADateTime) { if (!m_isValid) return null; if (m_isClosed) return m_workbookData; ConvertOaDate=convertOADateTime; m_workbookData=new DataSet(); for (int index=0; index<ResultsCount; index++) { DataTable table=readWholeWorkSheet(m_sheets[index]); if (null!=table) m_workbookData.Tables.Add(table); } m_file.Dispose(); m_isClosed=true; m_workbookData.AcceptChanges(); m_workbookData.FixDataTypes(); return m_workbookData; }
public Form1() { InitializeComponent(); NodeCollection nodes = new NodeCollection(); //for (int i = 0; i < 100000; i++) //{ nodes.Add(new NodeItem("PC", 0)); nodes.Add(new NodeItem("TGT", 1)); nodes.Add(new NodeItem("MRLY", 2)); ////} CommentCollection comments = new CommentCollection(); comments.Add(new CommentItem("NODE", "PC", "First Comment to NODE, Node Name is PC")); comments.Add(new CommentItem("NODE", "PC", "Second Comment to NODE, Node Name is PC")); //comments.Add(new CommentItem("NODE", "TGT", "Comment to MRTLY")); comments.Add(new CommentItem("NODE", "MRLY", "Comment to TGT")); AttributeCollection attributes = new AttributeCollection(); attributes.Add(new AttributeItem("Address", "NODE", "STRING", "A Node-hoz tartizó cím", "Address", "[0..64]")); attributes.Add(new AttributeItem("DeviceNetAddress", "NODE", "STRING", "DeviceNetAddress Node-hoz tartizó cím", "DeviceNet address", "[0..64]")); attributes.Add(new AttributeItem("UseAdapterSerialNumber", "NODE", "STRING", "Előírja hogy ha több adapter van a akkor melyiket használja", "Adapter Serial Number", "SerialNumber")); DataSet dataSet = new DataSet("Database"); //dataSet.BeginInit(); /*Nodes*/ /*NodeNameColumnPK, AddressColumn */ DataTable nodesDataTable = ToDataTable(nodes, "Nodes"); nodesDataTable.PrimaryKey = new DataColumn[] { nodesDataTable.Columns["Name"] }; dataSet.Tables.Add(nodesDataTable); /*Comments*/ /*Object - ObjectName PK, Content*/ DataTable commentsDataTable = ToDataTable(comments, "Comments"); nodesDataTable.PrimaryKey = new DataColumn[] { nodesDataTable.Columns["Object"], nodesDataTable.Columns["ObjectName"] }; dataSet.Tables.Add(commentsDataTable); /*Attriubtes*/ /*Object - Name PK, Type, ToolTip, ShowName, Unit, Comment*/ DataTable attributesDataTable = ToDataTable(attributes, "Attributes"); attributesDataTable.PrimaryKey = new DataColumn[] { attributesDataTable.Columns["Object"], attributesDataTable.Columns["Name"] }; dataSet.Tables.Add(attributesDataTable); /*Node View*/ /*Name, Comment*/ DataTable nodesViewDataTable = new DataTable("NodesView"); DataColumn nodeNameColumn = new DataColumn("Name", typeof(string)); nodesViewDataTable.Columns.Add(nodeNameColumn); DataColumn commentColumn = new DataColumn("Comment", typeof(string)); nodesViewDataTable.Columns.Add(commentColumn); //ForeignKeyConstraint commentFK = new ForeignKeyConstraint("First", // DataRelation commentRelation = new DataRelation("A", dataSet.Tables.Add(nodesViewDataTable); //var l = dataSet.GetChanges(); dataSet.AcceptChanges(); //var i = dataSet.GetChanges(); dataGridViewBackgorundText1.DataSource = dataSet; dataGridViewBackgorundText1.DataMember = "NodesView"; //ForeignKeyConstraint commentFK = new ForeignKeyConstraint("First", // DataRelation nodeCommentsRelation = //dataGridViewBackgorundText1.DataSource = dataSet.DefaultViewManager; //new NodeCollectionView() { new NodeItemView() }; //dataGridViewBackgorundText1.Da //dataGridViewBackgorundText1.AutoGenerateColumns = true; }
public void WriteXmlSchema5() { string xmlschema = @"<?xml version=""1.0"" encoding=""utf-16""?> <xs:schema id=""Example"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> " + " <xs:element name=\"Example\" msdata:IsDataSet=\"true\" msdata:UseCurrentLocale=\"true\"" + @"> <xs:complexType> <xs:choice minOccurs=""0"" maxOccurs=""unbounded""> <xs:element name=""StandAlone""> <xs:complexType> <xs:attribute name=""ID"" type=""xs:int"" use=""required"" /> <xs:attribute name=""Desc"" type=""xs:string"" use=""required"" /> </xs:complexType> </xs:element> <xs:element name=""Dimension""> <xs:complexType> <xs:attribute name=""Number"" msdata:ReadOnly=""true"" type=""xs:int"" use=""required"" /> <xs:attribute name=""Title"" type=""xs:string"" use=""required"" /> </xs:complexType> </xs:element> <xs:element name=""Element""> <xs:complexType> <xs:attribute name=""Dimension"" msdata:ReadOnly=""true"" type=""xs:int"" use=""required"" /> <xs:attribute name=""Number"" msdata:ReadOnly=""true"" type=""xs:int"" use=""required"" /> <xs:attribute name=""Title"" type=""xs:string"" use=""required"" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name=""PK_Dimension"" msdata:PrimaryKey=""true""> <xs:selector xpath="".//Dimension"" /> <xs:field xpath=""@Number"" /> </xs:unique> <xs:unique name=""PK_Element"" msdata:PrimaryKey=""true""> <xs:selector xpath="".//Element"" /> <xs:field xpath=""@Dimension"" /> <xs:field xpath=""@Number"" /> </xs:unique> <xs:keyref name=""FK_Element_To_Dimension"" refer=""PK_Dimension""> <xs:selector xpath="".//Element"" /> <xs:field xpath=""@Dimension"" /> </xs:keyref> </xs:element> </xs:schema>"; DataSet ds = new DataSet("Example"); // Add a DataTable with no ReadOnly columns DataTable dt1 = new DataTable("StandAlone"); ds.Tables.Add(dt1); // Add a ReadOnly column dt1.Columns.Add(new DataColumn("ID", typeof(int), "", MappingType.Attribute)); dt1.Columns["ID"].AllowDBNull = false; dt1.Columns.Add(new DataColumn("Desc", typeof (string), "", MappingType.Attribute)); dt1.Columns["Desc"].AllowDBNull = false; // Add related DataTables with ReadOnly columns DataTable dt2 = new DataTable("Dimension"); ds.Tables.Add(dt2); dt2.Columns.Add(new DataColumn("Number", typeof (int), "", MappingType.Attribute)); dt2.Columns["Number"].AllowDBNull = false; dt2.Columns["Number"].ReadOnly = true; dt2.Columns.Add(new DataColumn("Title", typeof (string), "", MappingType.Attribute)); dt2.Columns["Title"].AllowDBNull = false; dt2.Constraints.Add("PK_Dimension", dt2.Columns["Number"], true); DataTable dt3 = new DataTable("Element"); ds.Tables.Add(dt3); dt3.Columns.Add(new DataColumn("Dimension", typeof (int), "", MappingType.Attribute)); dt3.Columns["Dimension"].AllowDBNull = false; dt3.Columns["Dimension"].ReadOnly = true; dt3.Columns.Add(new DataColumn("Number", typeof (int), "", MappingType.Attribute)); dt3.Columns["Number"].AllowDBNull = false; dt3.Columns["Number"].ReadOnly = true; dt3.Columns.Add(new DataColumn("Title", typeof (string), "", MappingType.Attribute)); dt3.Columns["Title"].AllowDBNull = false; dt3.Constraints.Add("PK_Element", new DataColumn[] { dt3.Columns ["Dimension"], dt3.Columns ["Number"] }, true); ds.Relations.Add("FK_Element_To_Dimension", dt2.Columns["Number"], dt3.Columns["Dimension"]); ds.AcceptChanges(); StringWriter sw = new StringWriter(); ds.WriteXmlSchema(sw); string result = sw.ToString(); Assert.Equal(result.Replace("\r\n", "\n"), xmlschema.Replace("\r\n", "\n")); }
private void tb_add_Click(object sender, EventArgs e) { try { #region 基本条件判断 this.rtbmsg.Text = ""; if (string.IsNullOrEmpty(this.tb_pn.Text.Trim())) { ShowPrgMsg("请输入成品料号!", mLogMsgType.Error); return; } if (string.IsNullOrEmpty(this.tb_qty.Text.Trim())) { ShowPrgMsg("请填写移库数量!", mLogMsgType.Error); return; } if (string.IsNullOrEmpty(this.tb_out.Text.Trim())) { ShowPrgMsg("请填写移出库厂区!", mLogMsgType.Error); return; } if (string.IsNullOrEmpty(this.tb_in.Text.Trim())) { ShowPrgMsg("请填写移入库厂区!", mLogMsgType.Error); return; } if (this.tb_in.Text.Trim() == this.tb_out.Text.Trim()) { ShowPrgMsg("移出库和移入库厂区相同,无需移库!", mLogMsgType.Error); return; } dt_qty = FrmBLL.ReleaseData.arrByteToDataTable(refWebtWarehouseWipTracking.Instance.GetQtyByPartnumber(this.tb_pn.Text.Trim(), this.tb_out.Text.Trim())); if (dt_qty.Rows.Count > 0) { string OutQty = dt_qty.Rows[0]["qty"].ToString(); if (Convert.ToInt32(OutQty) == 0) { ShowPrgMsg("没有资料,请确认成品料号和厂区是否一致!", mLogMsgType.Error); return; } if (Convert.ToInt32(OutQty) < Convert.ToInt32(this.tb_qty.Text.Trim())) { ShowPrgMsg("移库数量大于库存数量,库存数量为:" + OutQty, mLogMsgType.Error); return; } if (this.listView.Items.Count > 0) { for (int i = 0; i < this.listView.Items.Count; i++) { string ssss = this.listView.Items[i].SubItems[1].Text.ToString(); if (this.tb_pn.Text.Trim() == ssss) { ShowPrgMsg("该成品料号已经在当前移库单号存在,请输入其他成品料号!", mLogMsgType.Error); this.tb_qty.Text = ""; this.tb_out.Text = ""; this.tb_in.Text = ""; this.tb_pn.Focus(); this.tb_pn.SelectAll(); return; } } } if (string.IsNullOrEmpty(this.tb_id.Text)) { this.tb_id.Text = refWebtz_whs_move_store.Instance.Sel_MOVEWH_ID(); } #endregion DataTable dt = new DataTable(); DataSet ds = new DataSet(); dt.Columns.Add("cH_ID"); dt.Columns.Add("cH_PN"); dt.Columns.Add("cH_PROD"); dt.Columns.Add("cH_QTY"); dt.Columns.Add("cH_OUT"); dt.Columns.Add("cH_IN"); DataRow NEWROW = dt.NewRow(); NEWROW["cH_ID"] = this.tb_id.Text; NEWROW["cH_PN"] = this.tb_pn.Text.Trim(); NEWROW["cH_PROD"] = dt_qty.Rows[0]["productname"].ToString(); NEWROW["cH_QTY"] = this.tb_qty.Text.Trim(); NEWROW["cH_OUT"] = this.tb_out.Text.Trim(); NEWROW["cH_IN"] = this.tb_in.Text.Trim(); dt.Rows.Add(NEWROW); ds.Tables.Add(dt); ds.AcceptChanges(); ListViewItem ivi = new ListViewItem(); this.listView.View = System.Windows.Forms.View.Details; ivi.SubItems[0].Text = ds.Tables[0].Rows[0]["cH_ID"].ToString(); ivi.SubItems.Add(ds.Tables[0].Rows[0]["cH_PN"].ToString()); ivi.SubItems.Add(ds.Tables[0].Rows[0]["cH_PROD"].ToString()); ivi.SubItems.Add(ds.Tables[0].Rows[0]["cH_QTY"].ToString()); ivi.SubItems.Add(ds.Tables[0].Rows[0]["cH_OUT"].ToString()); ivi.SubItems.Add(ds.Tables[0].Rows[0]["cH_IN"].ToString()); this.listView.Items.Add(ivi); tb_initializers(); } else { ShowPrgMsg("没有资料,请确认成品料号和厂区是否一致!", mLogMsgType.Error); return; } } catch (Exception ex) { this.mfrm.ShowPrgMsg(ex.Message, MainParent.MsgType.Error); } }
public void RuleTest() { DataSet ds = new DataSet("testds"); DataTable parent = ds.Tables.Add("parent"); DataTable child = ds.Tables.Add("child"); parent.Columns.Add("id", typeof(int)); parent.Columns.Add("name", typeof(string)); parent.PrimaryKey = new DataColumn[] { parent.Columns["id"] }; child.Columns.Add("id", typeof(int)); child.Columns.Add("parent", typeof(int)); child.Columns.Add("name", typeof(string)); child.PrimaryKey = new DataColumn[] { child.Columns["id"] }; DataRelation relation = ds.Relations.Add("parent_child", parent.Columns["id"], child.Columns["parent"]); parent.Rows.Add(new object[] { 1, "mono test 1" }); parent.Rows.Add(new object[] { 2, "mono test 2" }); parent.Rows.Add(new object[] { 3, "mono test 3" }); child.Rows.Add(new object[] { 1, 1, "mono child test 1" }); child.Rows.Add(new object[] { 2, 2, "mono child test 2" }); child.Rows.Add(new object[] { 3, 3, "mono child test 3" }); ds.AcceptChanges(); parent.Rows[0]["name"] = "mono changed test 1"; Assert.Equal(DataRowState.Unchanged, parent.Rows[0].GetChildRows(relation)[0].RowState); ds.RejectChanges(); parent.Rows[0]["id"] = "4"; DataRow childRow = parent.Rows[0].GetChildRows(relation)[0]; Assert.Equal(DataRowState.Modified, childRow.RowState); Assert.Equal(4, (int)childRow["parent"]); }
private void btnGuardar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //ValidarDatos if (!ValidarDatos()) { return; } if (currentRow != null) { lblStatus.Caption = "Actualizando : " + currentRow["Descr"].ToString(); Application.DoEvents(); currentRow.BeginEdit(); currentRow["Descr"] = this.txtDescr.EditValue; currentRow["Activo"] = this.chkActivo.EditValue; currentRow["IDTipo"] = this.slkupSubTipoDocumento.EditValue; currentRow["SubTipo"] = this.txtSubTipo.EditValue; currentRow["Activo"] = this.chkActivo.EditValue; currentRow.EndEdit(); DataSet _dsChanged = _dsSubTipoDocumento.GetChanges(DataRowState.Modified); bool okFlag = true; if (_dsChanged.HasErrors) { okFlag = false; string msg = "Error en la fila con el tipo Id"; foreach (DataTable tb in _dsChanged.Tables) { if (tb.HasErrors) { DataRow[] errosRow = tb.GetErrors(); foreach (DataRow dr in errosRow) { msg = msg + dr["IDTipo"].ToString(); } } } lblStatus.Caption = msg; } //Si no hay errores if (okFlag) { SubTipoDocumentoDAC.oAdaptador.Update(_dsChanged, "Data"); lblStatus.Caption = "Actualizado " + currentRow["Descr"].ToString(); Application.DoEvents(); isEdition = false; _dsSubTipoDocumento.AcceptChanges(); PopulateGrid(); SetCurrentRow(); HabilitarControles(false); AplicarPrivilegios(); } else { _dsSubTipoDocumento.RejectChanges(); } } else { //nuevo registro currentRow = _dtSubTipoDocumento.NewRow(); currentRow["Descr"] = this.txtDescr.EditValue; currentRow["Activo"] = this.chkActivo.EditValue; currentRow["IDTipo"] = this.slkupSubTipoDocumento.EditValue; currentRow["SubTipo"] = this.txtSubTipo.EditValue; currentRow["Activo"] = this.chkActivo.EditValue; _dtSubTipoDocumento.Rows.Add(currentRow); try { SubTipoDocumentoDAC.oAdaptador.Update(_dsSubTipoDocumento, "Data"); _dsSubTipoDocumento.AcceptChanges(); isEdition = false; lblStatus.Caption = "Se ha ingresado un nuevo registro"; Application.DoEvents(); PopulateGrid(); SetCurrentRow(); HabilitarControles(false); AplicarPrivilegios(); ColumnView view = this.gridView1; view.MoveLast(); } catch (System.Data.SqlClient.SqlException ex) { _dsSubTipoDocumento.RejectChanges(); currentRow = null; MessageBox.Show(ex.Message); } } }
/// <summary> /// Executes the respective command for each inserted, updated, or deleted row in the DataSet. /// </summary> /// <remarks> /// e.g.: /// UpdateDataset(conn, insertCommand, deleteCommand, updateCommand, dataSet, "Order"); /// </remarks> /// <param name="insertCommand">A valid SQL statement to insert new records into the data source</param> /// <param name="deleteCommand">A valid SQL statement to delete records from the data source</param> /// <param name="updateCommand">A valid SQL statement used to update records in the data source</param> /// <param name="dataSet">The DataSet used to update the data source</param> /// <param name="tableName">The DataTable used to update the data source.</param> public static void UpdateDataset(SQLiteCommand insertCommand, SQLiteCommand deleteCommand, SQLiteCommand updateCommand, DataSet dataSet, string tableName) { if (insertCommand == null) throw new ArgumentNullException("insertCommand"); if (deleteCommand == null) throw new ArgumentNullException("deleteCommand"); if (updateCommand == null) throw new ArgumentNullException("updateCommand"); if (tableName == null || tableName.Length == 0) throw new ArgumentNullException("tableName"); // Create a SQLiteDataAdapter, and dispose of it after we are done using (SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter()) { // Set the data adapter commands dataAdapter.UpdateCommand = updateCommand; dataAdapter.InsertCommand = insertCommand; dataAdapter.DeleteCommand = deleteCommand; // Update the dataset changes in the data source dataAdapter.Update(dataSet, tableName); // Commit all the changes made to the DataSet dataSet.AcceptChanges(); } }
internal static void Load(bool tryBackup = true) { //if (m_Dataset != null) // return; m_Dataset = new DataSet(); string filename = Path.Combine(Assistant.Engine.RootPath, "Profiles", m_Save); string backup = Path.Combine(Assistant.Engine.RootPath, "Backup", m_Save); if (File.Exists(filename)) { try { m_Dataset = Newtonsoft.Json.JsonConvert.DeserializeObject <DataSet>(File.ReadAllText(filename)); DataTableCollection tables = m_Dataset.Tables; DataTable shards = m_Dataset.Tables["SHARDS"]; if (!shards.Columns.Contains("CUOClient")) { shards.Columns.Add("CUOClient", typeof(string)); foreach (DataRow row in shards.Rows) { row["CUOClient"] = string.Empty; } } File.Copy(filename, backup, true); } catch (Exception) { if (tryBackup) { MessageBox.Show("Error loading " + m_Save + ", Try to restore from backup!"); File.Copy(backup, filename, true); Load(false); } else { throw; } return; } } else { // ----------- SHARDS ---------- DataTable shards = new DataTable("SHARDS"); shards.Columns.Add("Description", typeof(string)); // Key shards.Columns.Add("ClientPath", typeof(string)); shards.Columns.Add("ClientFolder", typeof(string)); shards.Columns.Add("CUOClient", typeof(string)); shards.Columns.Add("Host", typeof(string)); shards.Columns.Add("Port", typeof(long)); shards.Columns.Add("PatchEnc", typeof(bool)); shards.Columns.Add("OSIEnc", typeof(bool)); shards.Columns.Add("Selected", typeof(bool)); DataRow uod = shards.NewRow(); uod.ItemArray = new object[] { "OSI Ultima Online", String.Empty, String.Empty, String.Empty, "login.ultimaonline.com", 7776, true, true, true }; shards.Rows.Add(uod); DataRow eventine = shards.NewRow(); eventine.ItemArray = new object[] { "UO Eventine", String.Empty, String.Empty, String.Empty, "shard.uoeventine.com", 2593, true, false, false }; shards.Rows.Add(eventine); m_Dataset.Tables.Add(shards); m_Dataset.AcceptChanges(); } }
private void createTables() { dtProcesses = new DataTable("Processes"); dsProcesses = new DataSet(); bsProcesses = new BindingSource(); #region proc_table int iProcIDcolumn = -1; DataColumn[] dc = new DataColumn[_fieldsProcess.Length]; //string[] _fieldNames = new string[6] { "procID", "Process", "User", "Kernel", "Time", "Duration" }; //build the process table columns for (int i = 0; i < _fieldsProcess.Length; i++) { dc[i] = new DataColumn(); dc[i].Caption = _fieldsProcess[i].FieldName; // "App"; dc[i].ColumnName = _fieldsProcess[i].FieldName; // "App"; dc[i].DataType = System.Type.GetType(_fieldsProcess[i].FieldType); //if (dc[i].DataType = System.Type.GetType("System.DateTime")) // dc[i].DateTimeMode = DataSetDateTime.Local; if (dc[i].DataType == System.Type.GetType("System.String")) { dc[i].MaxLength = 256; } if (dc[i].Caption.Equals("ProcID", StringComparison.CurrentCultureIgnoreCase)) { dc[i].Unique = true; iProcIDcolumn = i; } else { dc[i].Unique = false; } dc[i].AllowDBNull = false; } //add header dtProcesses.Columns.AddRange(dc); DataColumn[] dcKey = new DataColumn[1]; dcKey[0] = dc[iProcIDcolumn]; dtProcesses.PrimaryKey = dcKey; dsProcesses.Tables.Add(dtProcesses); #endregion #region threadsTable dtThreads = new DataTable("Threads"); dc = new DataColumn[_fieldsThread.Length]; //build the process table columns for (int i = 0; i < _fieldsThread.Length; i++) { dc[i] = new DataColumn(); dc[i].Caption = _fieldsThread[i].FieldName; // "App"; dc[i].ColumnName = _fieldsThread[i].FieldName; // "App"; dc[i].DataType = System.Type.GetType(_fieldsThread[i].FieldType); if (dc[i].DataType == System.Type.GetType("System.String")) { dc[i].MaxLength = 256; } if (dc[i].Caption.Equals("ThreadID", StringComparison.CurrentCultureIgnoreCase)) { dc[i].Unique = true; } else { dc[i].Unique = false; } dc[i].AllowDBNull = false; } //add header dtThreads.Columns.AddRange(dc); DataColumn[] dcKeyThread = new DataColumn[1]; dcKeyThread[0] = dc[0]; dtThreads.PrimaryKey = dcKeyThread; dsProcesses.Tables.Add(dtThreads); #endregion bsProcesses.DataSource = dsProcesses; bsProcesses.DataMember = dsProcesses.Tables[0].TableName; dtProcesses.AcceptChanges(); dsProcesses.AcceptChanges(); this._dataGrid.DataSource = bsProcesses; this._dataGrid.Refresh(); }
public string UpdateUserTypeNewIndex() { string result = ""; string guid = Guid.NewGuid().ToString(); try { DataSet ds = new DataSet(); DataControl.BLUser _objBlUser = new DataControl.BLUser(); DataControl.CurrentInfo _objCurInfo = new DataControl.CurrentInfo(); ds = _objBlUser.GetAllUserTypesForMigration(_objCurInfo.GetCompanyCode()); DataSet dsAllUserTypes = new DataSet(); DataRow[] dr; dr = ds.Tables[0].AsEnumerable().Where(c => c["User_Type_Code"].ToString() == c["Under_User_Type"].ToString()).ToArray(); if (dr.Length > 0) { string userTypeCode = dr[0]["User_Type_Code"].ToString(); string userTypeId = dr[0]["User_Type_ID"].ToString(); dsAllUserTypes = _objBlUser.GetUserTypesHierarchyDataset(_objCurInfo.GetCompanyCode(), userTypeCode, _objCurInfo.GetUserCode(), guid); if (dsAllUserTypes.Tables[0].Rows.Count > 0) { //Display Order Update for (int d = 0; d < dsAllUserTypes.Tables[0].Rows.Count; d++) { dsAllUserTypes.Tables[0].Rows[d]["User_Type_Display_Order"] = d + 1; dsAllUserTypes.AcceptChanges(); } //Root user seq and full index update DataRow[] drRoot; drRoot = dsAllUserTypes.Tables[0].AsEnumerable().Where(c => c["User_Type_Code"].ToString() == c["Under_User_Type"].ToString()).ToArray(); drRoot[0]["User_Type_Full_Index"] = userTypeId + "."; drRoot[0]["User_Type_Seq_Index"] = "1"; drRoot[0]["Company_Code"] = _objCurInfo.GetCompanyCode(); // Root child nodes seq and full index updation DataRow[] drChild; drChild = dsAllUserTypes.Tables[0].AsEnumerable().Where(d => d["Under_User_Type"].ToString() == userTypeCode).ToArray(); if (drChild.Length > 0) { int c = 0; foreach (DataRow drr in drChild) { c++; drr["User_Type_Seq_Index"] = c.ToString(); drr["Company_Code"] = _objCurInfo.GetCompanyCode(); dsAllUserTypes.AcceptChanges(); } } dsAllUserTypes.AcceptChanges(); int displayOrder = 0; for (int i = 0; i < dsAllUserTypes.Tables[0].Rows.Count; i++) { displayOrder++; string curUserTypeCode = dsAllUserTypes.Tables[0].Rows[i]["User_Type_Code"].ToString(); string curParUserTypeCode = dsAllUserTypes.Tables[0].Rows[i]["Under_User_Type"].ToString(); if (curUserTypeCode != curParUserTypeCode) { string curUserTypeId = dsAllUserTypes.Tables[0].Rows[i]["User_Type_ID"].ToString(); string parIndex = ""; DataRow[] drTemp; drTemp = dsAllUserTypes.Tables[0].AsEnumerable().Where(c => c["User_Type_Code"].ToString() == curParUserTypeCode).ToArray(); if (drTemp.Length > 0) { parIndex = drTemp[0]["User_Type_Full_Index"].ToString(); dsAllUserTypes.Tables[0].Rows[i]["User_Type_Full_Index"] = parIndex + curUserTypeId + "."; dsAllUserTypes.Tables[0].Rows[i]["Company_Code"] = _objCurInfo.GetCompanyCode(); dsAllUserTypes.Tables[0].Rows[i]["Under_User_Type_ID"] = drTemp[0]["User_Type_ID"].ToString(); } drChild = dsAllUserTypes.Tables[0].AsEnumerable().Where(d => d["Under_User_Type"].ToString() == curUserTypeCode).ToArray(); if (drChild.Length > 0) { int c = 0; foreach (DataRow drr in drChild) { c++; drr["User_Type_Seq_Index"] = c.ToString(); drr["Company_Code"] = _objCurInfo.GetCompanyCode(); dsAllUserTypes.AcceptChanges(); } } } } //Update Qry result = _objBlUser.UserTypeBulkTempInsert(_objCurInfo.GetCompanyCode(), dsAllUserTypes.Tables[0], "MIGRATION"); if (result.Split(':')[0].ToUpper() == "SUCCESS") { result = _objBlUser.UpdateUserTypeIndexFromTemptoUserMaster(_objCurInfo.GetCompanyCode(), "MIGRATION", guid, _objCurInfo.GetUserCode()); } } } } catch (Exception ex) { result = "FAILURE:" + ex.Message; } return(result); }
/// <summary> /// Retrieves the View objects from the specified SQL server DB /// </summary> /// <param name="_connection">The SQL Connection used for the SQL server.</param> /// <param name="args"></param> public override void GetObject <Views>(SqlConnection _connection, object[] args) { string cmd_GetViewsList = string.Format(SqlQueryStrings.GetViewsList, _connection.Database); using (SqlCommand _command_Views = new SqlCommand(cmd_GetViewsList, _connection)) { _command_Views.Prepare(); using (SqlDataAdapter _sdaTables = new SqlDataAdapter(_command_Views)) { _sdaTables.Fill(this); } } if (this.Tables.Count > 0 && this.Tables[1].Rows.Count > 0) { // RENAME SECOND TABLE this.Tables[1].TableName = "VIEW"; // add default tables this.Tables.Add("CREATE_TEXT"); this.Tables["CREATE_TEXT"].Columns.Add("VIEW_NAME"); this.Tables.Add("VIEW_DEPENDS"); this.Tables["VIEW_DEPENDS"].Columns.Add("VIEW_NAME"); DataRow [] _arTables = new DataRow [this.Tables[1].Rows.Count]; this.Tables[1].Rows.CopyTo(_arTables, 0); foreach (DataRow _dr in _arTables) { DataSet _dsFields = null; string _tableName = _dr["VIEW_NAME"].ToString(); string cmd_GetViewSchema = string.Format(SqlQueryStrings.GetViewSchema, _connection.Database, _tableName); using (SqlCommand _command_Schema = new SqlCommand(cmd_GetViewSchema, _connection)) { _command_Schema.Prepare(); using (SqlDataAdapter _sdaFields = new SqlDataAdapter(_command_Schema)) { _dsFields = new DataSet("VIEW_SCHEMA"); _sdaFields.Fill(_dsFields); _dsFields.AcceptChanges(); } } if (_dsFields != null && _dsFields.Tables.Count >= 1) { // rename returned tables from table[0] .. table[n] // to the following values _dsFields.Tables[0].TableName = "CREATE_TEXT"; if (_dsFields.Tables.Count >= 2) { _dsFields.Tables[1].TableName = "VIEW_DEPENDS"; } AddMissingTableColumn(ref _dsFields, "CREATE_TEXT", "VIEW_NAME", false); AddMissingTableColumn(ref _dsFields, "VIEW_DEPENDS", "VIEW_NAME", false); try { foreach (DataTable _dt in _dsFields.Tables) { if (this.Tables[_dt.TableName] != null) { if (_dt.Rows.Count == 0) { _dt.Rows.Add(_dt.NewRow()); } DataColumn _dc = this.Tables[_dt.TableName].Columns["VIEW_NAME"]; _dc.DefaultValue = _tableName; this.Merge(_dt, true, MissingSchemaAction.Add); } } } catch (Exception ex) { throw ex; } } } this.Relations.Add("ViewsCreateTexts", this.Tables["VIEW"].Columns["VIEW_NAME"], this.Tables["CREATE_TEXT"].Columns["VIEW_NAME"]).Nested = true; this.Relations.Add("ViewDepends", this.Tables["VIEW"].Columns["VIEW_NAME"], this.Tables["VIEW_DEPENDS"].Columns["VIEW_NAME"]).Nested = true; string source = string.Format("[{0}].[{1}]", _connection.DataSource, _connection.Database); logger.Debug("\n{1}, Catalog Schema, number of Views: {0}", this.Tables[1].Rows.Count, source); } }
public void DatasetLoadComplete() { workbookData.AcceptChanges(); DatasetHelpers.FixDataTypes(workbookData); }
protected void EnlazarDatos() { try { #region Calcular semana considerando año bisiesto. int pnAnioMonstrado = DateTime.Now.Year; int pnSemanaMostrada; DateTime loFecha = DateTime.Parse(txtFechaInicio.Text); DayOfWeek loDia = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(loFecha); if (loDia >= DayOfWeek.Monday && loDia <= DayOfWeek.Wednesday) { loFecha = loFecha.AddDays(3); } pnSemanaMostrada = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(loFecha, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); #endregion Ventas loVentas = new Ventas(); Sesion loSesion = (Sesion)Session["Sesion"]; InformeItinerario loItinerario = new InformeItinerario(); DataTable loItinerarioVenta = loVentas.ObtenerItineario( (Sesion)Session["Sesion"], int.Parse(ddlTelemarketings.SelectedValue), int.Parse(ddlSucursales.SelectedValue), pnAnioMonstrado, pnSemanaMostrada ); DataTable loTotalSemanal = loVentas.ObtenerTotalSemanal( (Sesion)Session["Sesion"], int.Parse(ddlTelemarketings.SelectedValue), loFecha.AddDays(1 - (((int)loFecha.DayOfWeek) == 0 ? 7 : (int)loFecha.DayOfWeek)), loFecha.AddDays(1 - (((int)loFecha.DayOfWeek) == 0 ? 7 : (int)loFecha.DayOfWeek)).AddDays(-6)); DataSet loFuenteDatos = new DataSet(); loFuenteDatos.DataSetName = "DataSourceItinerario"; loFuenteDatos.Tables.Add(loItinerarioVenta); loFuenteDatos.Tables[0].TableName = "ITINERARIO_VENTA"; loFuenteDatos.Tables.Add(loTotalSemanal); loFuenteDatos.Tables[1].TableName = "TOTAL_X_SEMANA"; loFuenteDatos.AcceptChanges(); loItinerario.DataMember = "DataSourceItinerario"; loItinerario.DataSource = loFuenteDatos; loItinerario.FillDataSource(); loItinerario.Parameters["psSucursal"].Value = ddlSucursales.SelectedItem; loItinerario.Parameters["psTelemarketing"].Value = ddlTelemarketings.SelectedItem; loItinerario.Parameters["psPeriodo"].Value = "SEMANA: " + pnSemanaMostrada.ToString() + ", FECHA: " + loFecha.AddDays(1 - (((int)loFecha.DayOfWeek) == 0 ? 7 : (int)loFecha.DayOfWeek)).ToShortDateString() + " - " + loFecha.AddDays((1 - (((int)loFecha.DayOfWeek) == 0 ? 7 : (int)loFecha.DayOfWeek)) + 5).ToShortDateString(); loItinerario.Parameters["psSucursal"].Visible = false; loItinerario.Parameters["psTelemarketing"].Visible = false; loItinerario.Parameters["psPeriodo"].Visible = false; #region Asignar permiso de imprimir y guardar if (Session["Permiso"] == null) { foreach (Permiso loPermiso in loSesion.Usuario.Permiso) { if (loPermiso.Clave == 24) { foreach (Dapesa.Seguridad.Comun.Definiciones.TipoPermiso loTipoEmelento in loPermiso.TipoPermiso) { if (loTipoEmelento.ToString() == "Imprimir") { #region Eliminar Boton Imprimir ReportToolbarItem saveItem = null; foreach (ReportToolbarItem item in xrInforme.ToolbarItems) { if (item.ItemKind == ReportToolbarItemKind.PrintReport || item.ItemKind == ReportToolbarItemKind.PrintPage) { saveItem = item; } } xrInforme.ToolbarItems.Remove(saveItem); saveItem = null; foreach (ReportToolbarItem item in xrInforme.ToolbarItems) { if (item.ItemKind == ReportToolbarItemKind.PrintPage || item.ItemKind == ReportToolbarItemKind.PrintPage) { saveItem = item; } } xrInforme.ToolbarItems.Remove(saveItem); #endregion xrInforme.ToolbarItems.Add(new ReportToolbarButton(ReportToolbarItemKind.PrintPage, true)); xrInforme.ToolbarItems.Add(new ReportToolbarButton(ReportToolbarItemKind.PrintReport, true)); } } } if (loPermiso.Clave == 24) { foreach (Dapesa.Seguridad.Comun.Definiciones.TipoPermiso loTipoEmelento in loPermiso.TipoPermiso) { if (loTipoEmelento.ToString() == "Guardar") { #region Eliminar Boton Guadar ReportToolbarItem loItem = null; foreach (ReportToolbarItem item in xrInforme.ToolbarItems) { if (item.ItemKind == ReportToolbarItemKind.SaveToDisk || item.ItemKind == ReportToolbarItemKind.SaveToDisk) { loItem = item; } } xrInforme.ToolbarItems.Remove(loItem); #endregion xrInforme.ToolbarItems.Add(new ReportToolbarButton(ReportToolbarItemKind.SaveToDisk, true)); } } } } } #endregion this.xrInforme.Report = loItinerario; loItinerario.CreateDocument(); Page.Session["loInformeItinerario"] = loItinerario; CargarTotalesVenta(loTotalSemanal); } catch (Exception ex) { Session["Excepcion"] = ex; Response.Redirect("~/Error.aspx", false); } }
/// <summary> /// 1) Merr detyrimet qe jane ne DataBase, shoqeron per detyrimet e marra perkthimet. /// 2) Merr shenimet e dhena nga skedari Informacione ne Xml dhe i hedh ne dataset /// </summary> /// <returns>DataSetin e plote me te gjitha perkthimet e dhena deri tani</returns> public DataSet ShfaqPerkthimet() { DbController db = new DbController(); // Ne fillim marrim te gjitha llojet e detyrimeve qe jane ne DataBase DataSet dsDetyrime = db.Read("dbShfaqLlojetDetyrime"); DataSet dsPerkthime = new DataSet(); if (!File.Exists(Application.StartupPath + "\\Perkthime.xml")) { // Nese skedari xml Perkthime nuk ekziston atehere krijoje dhe shto edhe fushat e duhura dsPerkthime.Tables.Add("Perkthime"); dsPerkthime.Tables[0].Columns.Add("ID", typeof(String)); dsPerkthime.Tables[0].Columns.Add("Shqip", typeof(String)); dsPerkthime.Tables[0].Columns.Add("Anglisht", typeof(String)); dsPerkthime.Tables[0].Columns.Add("Italisht", typeof(String)); dsPerkthime.Tables[0].Columns.Add("Frengjisht", typeof(String)); dsPerkthime.Tables[0].Columns.Add("Lloji", typeof(String)); dsPerkthime.Tables.Add("Gjuha"); dsPerkthime.Tables[1].Columns.Add("Gjuhe", typeof(String)); DataRow drGjuha = dsPerkthime.Tables[1].NewRow(); drGjuha[0] = "Shqip"; dsPerkthime.Tables[1].Rows.Add(drGjuha); dsPerkthime.AcceptChanges(); dsPerkthime.WriteXml(Application.StartupPath + "\\Perkthime.xml", XmlWriteMode.WriteSchema); } else { // Perndryshe, nese ekziston lexo kete skedar dhe hidhe ne dsPerkthime dsPerkthime.ReadXml(Application.StartupPath + "\\Perkthime.xml"); } DataSet ds = dsPerkthime.Copy(); ds.Tables[0].Rows.Clear(); // Shtojme nje kolone te re Lloji e cila sherben per grupimin e fushave ne griden e // perkthimeve. Do te kete tre vlera, Detyrime, Shpenzime dhe Mesazhe //ds.Tables[0].Columns.Add("Lloji", typeof(String)); foreach (DataRow drDetyrime in dsDetyrime.Tables[0].Rows) { DataRow dr = ds.Tables[0].NewRow(); if (dsPerkthime.Tables[0].Select("ID = '" + Convert.ToString(drDetyrime[0]) + "'").Length == 0) { // Nese lloj_detyrimi nuk gjendet ne skedarin xml, atehere hidhe kete detyrim // duke vendosur vetem tekstin shqip dhe id-ne e tij dr[0] = drDetyrime[0].ToString(); dr[1] = drDetyrime[1].ToString(); } else { // Perndryshe nese detyrimi gjendet ne skedar xml, atehere hidh edhe perkthimet DataRow drPerkthime = (DataRow)dsPerkthime.Tables[0].Select("ID = '" + drDetyrime[0].ToString() + "'").GetValue(0); dr[0] = drDetyrime[0].ToString(); dr[1] = drDetyrime[1].ToString(); dr[2] = drPerkthime[2].ToString(); dr[3] = drPerkthime[3].ToString(); dr[4] = drPerkthime[4].ToString(); } dr[5] = "Detyrime"; ds.Tables[0].Rows.Add(dr); } // Heqim dsDetyrime nga memorja dsDetyrime.Dispose(); // Lexojme nga skedari Xml Informacione edhe mesazhet e falenderimit dhe te qendrimit ne hotel // dhe bashke me to edhe perkthimet DataSet dsInformacione = new DataSet(); dsInformacione.ReadXml(Application.StartupPath + "\\Informacione.xml"); DataRow dr1 = ds.Tables[0].NewRow(); if (dsPerkthime.Tables[0].Select("ID = 'MesazhQendrimi'").Length == 0) { dr1[0] = "MesazhQendrimi"; dr1[1] = dsInformacione.Tables[0].Rows[0][6]; dr1[2] = ""; dr1[3] = ""; dr1[4] = ""; } else { DataRow drMesazh = (DataRow)dsPerkthime.Tables[0].Select("ID = 'MesazhQendrimi'").GetValue(0); dr1[0] = "MesazhQendrimi"; dr1[1] = dsInformacione.Tables[0].Rows[0][6]; dr1[2] = drMesazh[2]; dr1[3] = drMesazh[3]; dr1[4] = drMesazh[4]; } dr1[5] = "Mesazhe"; ds.Tables[0].Rows.Add(dr1); DataRow dr2 = ds.Tables[0].NewRow(); if (dsPerkthime.Tables[0].Select("ID = 'MesazhRezervimi'").Length == 0) { dr2[0] = "MesazhRezervimi"; dr2[1] = dsInformacione.Tables[0].Rows[0][7]; dr2[2] = ""; dr2[3] = ""; dr2[4] = ""; } else { DataRow drMesazh = (DataRow)dsPerkthime.Tables[0].Select("ID = 'MesazhRezervimi'").GetValue(0); dr2[0] = "MesazhRezervimi"; dr2[1] = dsInformacione.Tables[0].Rows[0][7]; dr2[2] = drMesazh[2]; dr2[3] = drMesazh[3]; dr2[4] = drMesazh[4]; } dr2[5] = "Mesazhe"; ds.Tables[0].Rows.Add(dr2); return ds; }
public virtual int Update(DataSet dataSet) { this.InitializeMembers(); this.PLVRSTEIZNOSASet = (PLVRSTEIZNOSADataSet)dataSet; this.connDefault = this.dsDefault.GetReadWriteConnection(this.daCurrentTransaction); if (this.PLVRSTEIZNOSASet == null) { throw new ArgumentException(this.resourceManager.GetString("nulldset")); } try { IEnumerator enumerator = null; this.connDefault.BeginTransaction(); try { enumerator = this.PLVRSTEIZNOSASet.PLVRSTEIZNOSA.GetEnumerator(); while (enumerator.MoveNext()) { PLVRSTEIZNOSADataSet.PLVRSTEIZNOSARow current = (PLVRSTEIZNOSADataSet.PLVRSTEIZNOSARow)enumerator.Current; this.rowPLVRSTEIZNOSA = current; if (Helpers.IsRowChanged(this.rowPLVRSTEIZNOSA)) { this.ReadRowPlvrsteiznosa(); if (this.rowPLVRSTEIZNOSA.RowState == DataRowState.Added) { this.InsertPlvrsteiznosa(); } else { if (this._Gxremove) { this.Delete(); continue; } this.UpdatePlvrsteiznosa(); } } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } dataSet.AcceptChanges(); this.connDefault.Commit(); } catch (System.Exception exception1) { throw exception1; //this.connDefault.Rollback(); } finally { this.Cleanup(); } return(0); }
public bool DataSetInsertSource(List <string> strSQL, List <string> tableName, DataSet source, List <Dictionary <string, SqlParameter[]> > SqlParameter) { bool result = false; IDbConnection connection = null; connection = new SqlConnection(DefaultConnections.localDb.ToString()); IDbTransaction transaction = connection.BeginTransaction(); try { for (int i = 0; i < source.Tables.Count; i++) { foreach (DataRow row in source.Tables[i].Rows) { if (row.RowState == DataRowState.Unchanged) { row.SetAdded(); } } var sql = strSQL[i]; var tableNameinfo = tableName[i]; using (IDbCommand command = CreateCommand(sql, connection)) { command.Transaction = transaction; command.CommandTimeout = 60 * 60; DbDataAdapter adapter = new SqlDataAdapter((SqlCommand)command); int count = adapter.Update(source, tableNameinfo); source.AcceptChanges(); command.Dispose(); } } for (int i = 0; i < SqlParameter.Count; i++) { SqlParameter temp = null; foreach (var sqlitem in SqlParameter[i]) { using (IDbCommand command = CreateCommand(sqlitem.Key.ToString(), connection)) { command.CommandType = CommandType.StoredProcedure; command.Transaction = transaction; command.CommandTimeout = 60 * 60; foreach (SqlParameter param in sqlitem.Value) { if (param.Direction == ParameterDirection.Output) { temp = param; } command.Parameters.Add(param); } command.ExecuteNonQuery(); command.Dispose(); } } } transaction.Commit(); result = true; } catch (Exception e) { transaction.Rollback(); throw e; } finally { connection.Close(); } return(result); }
static void Main(string[] args) { var dataSet = new DataSet("ShopDB"); //var adapter = new SqlDataAdapter("Select * from Products", "Server=DESKTOP-3S2N5VP; Database=ShopDB; Trusted_Connection = true;"); //adapter.Fill(dataSet); var employeeTable = dataSet.Tables.Add("Employees"); var employeeIdColumn = new DataColumn("Id", Type.GetType("System.Int32")); employeeIdColumn.ReadOnly = true; employeeIdColumn.AutoIncrement = true; employeeIdColumn.AutoIncrementSeed = 1; employeeIdColumn.AutoIncrementStep = 1; employeeIdColumn.AllowDBNull = false; var employeeFullNameColumn = new DataColumn("FullName", Type.GetType("System.String")); var employeeSalaryColumn = new DataColumn("Salary", Type.GetType("System.Double")); employeeTable.Columns.AddRange(new DataColumn[] { employeeIdColumn, employeeFullNameColumn, employeeSalaryColumn }); employeeTable.PrimaryKey = new DataColumn[] { employeeIdColumn }; var productTable = dataSet.Tables.Add("Products"); var productIdColumn = new DataColumn("Id", Type.GetType("System.Int32")); productIdColumn.ReadOnly = true; productIdColumn.AutoIncrement = true; productIdColumn.AutoIncrementSeed = 1; productIdColumn.AutoIncrementStep = 1; productIdColumn.AllowDBNull = false; var productNameColumn = new DataColumn("Name", Type.GetType("System.String")); productNameColumn.AllowDBNull = false; var producPriceColumn = new DataColumn("Price", Type.GetType("System.Int32")); producPriceColumn.AllowDBNull = false; productTable.Columns.AddRange(new DataColumn[] { productIdColumn, productNameColumn, producPriceColumn }); productTable.PrimaryKey = new DataColumn[] { productIdColumn }; var orderTable = dataSet.Tables.Add("Orders"); var orderIdColumn = new DataColumn("Id", Type.GetType("System.Int32")); orderIdColumn.ReadOnly = true; orderIdColumn.AutoIncrement = true; orderIdColumn.AutoIncrementSeed = 1; orderIdColumn.AutoIncrementStep = 1; orderIdColumn.AllowDBNull = false; var orderDateColumn = new DataColumn("Date", Type.GetType("System.DateTime")); var orderSummaColumn = new DataColumn("Summa", Type.GetType("System.Double")); var orderCustomerIdColumn = new DataColumn("CustomerId", Type.GetType("System.Int32")); var orderOrderDetailIdColumn = new DataColumn("OrderDetailId", Type.GetType("System.Int32")); var orderProductIdColumn = new DataColumn("ProductId", Type.GetType("System.Int32")); var orderEmployeeIdColumn = new DataColumn("EmployeeId", Type.GetType("System.Int32")); orderTable.Columns.AddRange(new DataColumn[] { orderIdColumn, orderDateColumn, orderSummaColumn, orderProductIdColumn, orderOrderDetailIdColumn, orderCustomerIdColumn, orderEmployeeIdColumn }); orderTable.PrimaryKey = new DataColumn[] { orderIdColumn }; var orderDetailTable = dataSet.Tables.Add("OrderDetails"); var orderDetailIdColumn = new DataColumn("Id", Type.GetType("System.Int32")); orderDetailIdColumn.ReadOnly = true; orderDetailIdColumn.AutoIncrement = true; orderDetailIdColumn.AutoIncrementSeed = 1; orderDetailIdColumn.AutoIncrementStep = 1; orderDetailIdColumn.AllowDBNull = false; var orderDetailDescriptionColumn = new DataColumn("Description", Type.GetType("System.String")); orderDetailTable.Columns.AddRange(new DataColumn[] { orderDetailIdColumn, orderDetailDescriptionColumn }); orderDetailTable.PrimaryKey = new DataColumn[] { orderDetailIdColumn }; var customerTable = dataSet.Tables.Add("Customers"); var customerIdColumn = new DataColumn("Id", Type.GetType("System.Int32")); customerIdColumn.ReadOnly = true; customerIdColumn.AutoIncrement = true; customerIdColumn.AutoIncrementSeed = 1; customerIdColumn.AutoIncrementStep = 1; customerIdColumn.AllowDBNull = false; var customeFullNameColumn = new DataColumn("FullName", Type.GetType("System.String")); var customerPhoneColumn = new DataColumn("Phone", Type.GetType("System.String")); customerTable.Columns.AddRange(new DataColumn[] { customerIdColumn, customeFullNameColumn, customerPhoneColumn }); customerTable.PrimaryKey = new DataColumn[] { customerIdColumn }; dataSet.AcceptChanges(); }
private void toolStripButton1_Click(object sender, EventArgs e) { int count = 0; Guid[] warehouseZonesIds = new Guid[] { }; if (this.comboBox1.SelectedIndex != -1) { warehouseZonesIds = new Guid[] { Guid.Parse(comboBox1.SelectedValue.ToString()) }; } string msg = String.Empty; bool combine = BatchCombineCheck.Checked; this.dataGridView1.EndEdit(); try { List <object> list = new List <object>(); System.Data.SqlClient.SqlConnection oleConnection = new System.Data.SqlClient.SqlConnection(sql); oleConnection.Open(); DataSet dsSql = new DataSet(); System.Data.SqlClient.SqlDataAdapter oa = new System.Data.SqlClient.SqlDataAdapter("select * from StorageChecking", oleConnection); oa.Fill(dsSql); System.Data.SqlClient.SqlCommandBuilder scb = new System.Data.SqlClient.SqlCommandBuilder(oa); dtn = dsSql.Tables[0]; DateTime date = DateTime.Now; int j = dtn.Rows.Count; if (dataGridView1.Rows.Count == 0) { MessageBox.Show("尚未查询当前库存情况,记录为空!"); return; } var dtnGroup = from i in dtn.AsEnumerable() group i by new { t1 = i.Field <string>("DocumentNum") } into g select new { DocNo = g.FirstOrDefault().Field <string>("DocumentNum").ToString() }; if (dtnGroup != null) { foreach (var item in dtnGroup.ToList()) { if (item.DocNo.Contains(DocNum)) { if (MessageBox.Show("本月已做过盘存操作,如果你需要重新盘存,本月原盘存记录将被清除!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { oleConnection = new System.Data.SqlClient.SqlConnection(sql); oleConnection.Open(); System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand(); sqlCommand.Connection = oleConnection; sqlCommand.CommandText = "delete from StorageChecking where DocumentNum LIKE '%" + DocNum + "%'"; sqlCommand.ExecuteNonQuery(); MessageBox.Show("本月旧盘存记录清除完成!"); return; } else { dataGridView1.DataSource = null; return; } } } } foreach (DataGridViewRow r in this.dataGridView1.Rows) { if (Convert.ToDecimal(r.Cells["colRealAmount"].Value) == 0) { count++; r.Cells["colRealAmount"].Style.BackColor = Color.Red; } string pName = r.Cells[0].Value.ToString(); string gg = r.Cells[1].Value.ToString(); string unit = r.Cells[2].Value.ToString(); string pNumber = r.Cells[3].Value.ToString(); string pFactory = r.Cells[4].Value == null ? "无" : r.Cells[4].Value.ToString(); string origin = r.Cells[5].Value == null ? "无" : r.Cells[5].Value.ToString(); string batchNumber = r.Cells[6].Value == null ? "无" : r.Cells[6].Value.ToString(); DateTime pDate = Convert.ToDateTime(r.Cells[7].Value); DateTime validDate = Convert.ToDateTime(r.Cells[8].Value); decimal purchasePrice = Convert.ToDecimal(r.Cells[9].Value); decimal canUsed = Convert.ToDecimal(r.Cells[10].Value); decimal currentIn = Convert.ToDecimal(r.Cells[11].Value); decimal money = Convert.ToDecimal(r.Cells[12].Value); decimal realAmount = r.Cells[13].Value == null? 0m:Convert.ToDecimal(r.Cells[13].Value); decimal dismaindAmount = canUsed - realAmount; DateTime dtime = DateTime.Now; string documentNum = "PCD" + DocNum; string opuser = AppClientContext.CurrentUser.Employee.Name; string wh = r.Cells["Column3"].Value.ToString(); DataRow dr = dtn.NewRow(); dr[0] = j++; dr[1] = pName.ToString(); dr[2] = gg; dr[3] = unit; dr[4] = pNumber; dr[5] = pFactory; dr[6] = origin; dr[7] = batchNumber; dr[8] = pDate; dr[9] = validDate; dr[10] = purchasePrice; dr[11] = canUsed; dr[12] = money; dr[13] = currentIn; dr[14] = realAmount; dr[15] = canUsed - realAmount; dr[16] = dtime; dr[17] = documentNum; dr[18] = opuser; dr[19] = wh; dtn.Rows.Add(dr); } DataTable dty = new DataTable(); if (count > 0) { if (MessageBox.Show("有实盘数据为0,是否继续保存?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { oa.Update(dtn); dsSql.AcceptChanges(); count = 0; MessageBox.Show("保存成功,损溢数量将自动计算。\n\r请注意:若有药品损溢情况,请申报损溢并审批!"); } else { return; } } else { oa.Update(dtn); dsSql.AcceptChanges(); count = 0; MessageBox.Show("保存成功,损溢数量将自动计算。\n\r请注意:若有药品损溢情况,请申报损溢并审批!"); } oleConnection.Close(); } catch (Exception ex) { MessageBox.Show("操作失败!"); } }
public void Test2() { DataSet RegionDS = new DataSet(); DataRow RegionRow; RegionDS.ReadXmlSchema(new StringReader(RegionXsd)); Assert.Equal(1, RegionDS.Tables.Count); XmlDataDocument DataDoc = new XmlDataDocument(RegionDS); DataDoc.Load(new StringReader(RegionXml)); RegionRow = RegionDS.Tables[0].Rows[0]; RegionDS.AcceptChanges(); RegionRow["RegionDescription"] = "Reeeeeaalllly Far East!"; RegionDS.AcceptChanges(); TextWriter text = new StringWriter(); text.NewLine = "\n"; DataDoc.Save(text); string TextString = text.ToString(); string substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); //Assert.Equal ("<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.Equal("<Root>", substring); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionID>1</RegionID>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.Equal(" <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>", substring); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionID>2</RegionID>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionDescription>Western") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </RegionDescription>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionID>3</RegionID>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionDescription>Northern") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </RegionDescription>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionID>4</RegionID>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <RegionDescription>Southern") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </RegionDescription>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </Region>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <MoreData>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Column1>12</Column1>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Column2>Hi There</Column2>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </MoreData>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <MoreData>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Column1>12</Column1>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" <Column2>Hi There</Column2>") != -1); substring = TextString.Substring(0, TextString.IndexOf(s_EOL)); TextString = TextString.Substring(TextString.IndexOf(s_EOL) + s_EOL.Length); Assert.True(substring.IndexOf(" </MoreData>") != -1); }
/// <summary> /// 添加或更新邮件通知参数 /// </summary> /// <param name="session"></param> /// <param name="lstParams"></param> /// lstParams[0] : 是否启用邮件通知 /// lstParams[1] : SMTP /// lstParams[2] : SMTP Port /// lstParams[3] : 需要SSL /// lstParams[4] : 账号 /// lstParams[5] : 密码 /// lstParams[6] : 需要身份认证 /// lstParams[7] : Email Address /// <returns></returns> private OperationReturn UpdateEmailInfo(SessionInfo session, List <string> lstParams) { OperationReturn optReturn = new OperationReturn(); try { string rentToken = session.RentInfo.Token; string strSql = string.Empty; lstParams[5] = S2400EncryptOperation.EncryptWithM002(lstParams[5]); IDbConnection objConn = null; IDbDataAdapter objAdapter = null; DbCommandBuilder objCmdBuilder = null; switch (session.DBType) { case 2: strSql = string.Format("SELECT * FROM T_11_001_{0} WHERE C001 = '{1}' and C002 =24 and C004 = 24041 ORDER BY C005", rentToken, session.RentID); optReturn = MssqlOperation.GetDataSet(session.DBConnectionString, strSql); if (!optReturn.Result) { return(optReturn); } objConn = MssqlOperation.GetConnection(session.DBConnectionString); objAdapter = MssqlOperation.GetDataAdapter(objConn, strSql); objCmdBuilder = MssqlOperation.GetCommandBuilder(objAdapter); break; case 3: strSql = string.Format("SELECT * FROM T_11_001_{0} WHERE C001 = '{1}' AND C002 =24 AND C004 = 24041 ORDER BY C005", rentToken, session.RentID); optReturn = OracleOperation.GetDataSet(session.DBConnectionString, strSql); if (!optReturn.Result) { return(optReturn); } objConn = OracleOperation.GetConnection(session.DBConnectionString); objAdapter = OracleOperation.GetDataAdapter(objConn, strSql); objCmdBuilder = OracleOperation.GetCommandBuilder(objAdapter); break; } if (objConn == null || objAdapter == null || objCmdBuilder == null) { optReturn.Result = false; optReturn.Code = Defines.RET_OBJECT_NULL; optReturn.Message = string.Format("Db object is null"); return(optReturn); } objCmdBuilder.ConflictOption = ConflictOption.OverwriteChanges; objCmdBuilder.SetAllValues = false; DataSet objDataSet = new DataSet(); objAdapter.Fill(objDataSet); List <string> listMsg = new List <string>(); if (lstParams[0] == "0") { DataRow[] drs = objDataSet.Tables[0].Select("c003 = 240401"); if (drs.Count() > 0) { drs[0]["C006"] = lstParams[0]; drs[0]["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); drs[0]["C019"] = session.UserID; listMsg.Add("Update Email Enable : 0"); } } else { for (int i = 0; i < lstParams.Count; i++) { string strParamID = "24040" + (i + 1); DataRow[] drs = objDataSet.Tables[0].Select(string.Format("c003 = {0}", strParamID)); //如果存在 则修改 if (drs.Count() > 0) { drs[0]["C006"] = lstParams[i]; drs[0]["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); drs[0]["C019"] = session.UserID; listMsg.Add(string.Format("Update {0}", lstParams[i])); } //如果不存在 则插入 else { DataRow row = objDataSet.Tables[0].NewRow(); row["C001"] = session.RentID; row["C002"] = 24; row["C003"] = "24040" + (i + 1); row["C004"] = "24041"; row["C005"] = i; row["C006"] = lstParams[i]; row["C007"] = 13; row["C009"] = 0; row["C010"] = 0; row["C011"] = 0; row["C015"] = 0; row["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); row["C019"] = session.UserID; row["C020"] = -1; row["C021"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); objDataSet.Tables[0].Rows.Add(row); listMsg.Add(string.Format("Add {0}", lstParams[i])); } } } objAdapter.Update(objDataSet); objDataSet.AcceptChanges(); optReturn.Data = listMsg; optReturn.Result = true; optReturn.Code = Defines.RET_SUCCESS; } catch (Exception ex) { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = ex.Message; optReturn.Exception = ex; } return(optReturn); }
public void WriteXmlSchema2() { string xml = @"<myDataSet xmlns='NetFrameWork'><myTable><id>0</id><item>item 0</item></myTable><myTable><id>1</id><item>item 1</item></myTable><myTable><id>2</id><item>item 2</item></myTable><myTable><id>3</id><item>item 3</item></myTable><myTable><id>4</id><item>item 4</item></myTable><myTable><id>5</id><item>item 5</item></myTable><myTable><id>6</id><item>item 6</item></myTable><myTable><id>7</id><item>item 7</item></myTable><myTable><id>8</id><item>item 8</item></myTable><myTable><id>9</id><item>item 9</item></myTable></myDataSet>"; string schema = @"<?xml version='1.0' encoding='utf-16'?> <xs:schema id='myDataSet' targetNamespace='NetFrameWork' xmlns:mstns='NetFrameWork' xmlns='NetFrameWork' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata' attributeFormDefault='qualified' elementFormDefault='qualified'> <xs:element name='myDataSet' msdata:IsDataSet='true' " + "msdata:UseCurrentLocale='true'" + @"> <xs:complexType> <xs:choice minOccurs='0' maxOccurs='unbounded'> <xs:element name='myTable'> <xs:complexType> <xs:sequence> <xs:element name='id' msdata:AutoIncrement='true' type='xs:int' minOccurs='0' /> <xs:element name='item' type='xs:string' minOccurs='0' /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>"; DataSet OriginalDataSet = new DataSet("myDataSet"); OriginalDataSet.Namespace = "NetFrameWork"; DataTable myTable = new DataTable("myTable"); DataColumn c1 = new DataColumn("id", typeof(int)); c1.AutoIncrement = true; DataColumn c2 = new DataColumn("item"); myTable.Columns.Add(c1); myTable.Columns.Add(c2); OriginalDataSet.Tables.Add(myTable); // Add ten rows. DataRow newRow; for (int i = 0; i < 10; i++) { newRow = myTable.NewRow(); newRow["item"] = "item " + i; myTable.Rows.Add(newRow); } OriginalDataSet.AcceptChanges(); StringWriter sw = new StringWriter(); XmlTextWriter xtw = new XmlTextWriter(sw); xtw.QuoteChar = '\''; OriginalDataSet.WriteXml(xtw); string result = sw.ToString(); Assert.Equal(xml, result); sw = new StringWriter(); xtw = new XmlTextWriter(sw); xtw.Formatting = Formatting.Indented; OriginalDataSet.WriteXmlSchema(xtw); result = sw.ToString(); result = result.Replace("\r\n", "\n").Replace('"', '\''); Assert.Equal(schema.Replace("\r\n", "\n"), result); }
public override void Open() { if (IsOpened) { return; } // make table if (Table == null) { if (Adapter == null) { if (string.IsNullOrEmpty(_XmlFile)) { throw new RuntimeException("Table, adapter, or file is not defined."); } // dataset var ds = new DataSet(); ds.Locale = CultureInfo.CurrentCulture; // CA // read schema if (!string.IsNullOrEmpty(XmlSchema)) { ds.ReadXmlSchema(XmlSchema); } // read data ds.ReadXml(_XmlFile, XmlReadMode); _XmlFileTime = File.GetLastWriteTime(_XmlFile); // accept data ds.AcceptChanges(); // table Table = GetTable(ds, TableName); } else { if (Adapter.SelectCommand == null) { throw new RuntimeException("Adapter select command is null."); } Table = new DataTable(); Table.Locale = CultureInfo.CurrentCulture; // CA } } // fill and drop the flag avoiding 2nd call on opening Fill(); NeedsNewFiles = false; // pass 1: collect the columns IList <Meta> metas; if (Columns == null) { // collect/filter table columns to be shown int Count = Math.Min(Table.Columns.Count, Settings.Default.MaximumPanelColumnCount); metas = new List <Meta>(Count); int nCollected = 0; foreach (DataColumn column in Table.Columns) { // skip hidden not calculated columns if (column.ColumnMapping == MappingType.Hidden && column.Expression.Length == 0) { continue; } // skip not linear data if (!Converter.IsLinearType(column.DataType)) { continue; } // infer column meta data Meta meta = new Meta(column.ColumnName); meta.Kind = FarColumn.DefaultColumnKinds[nCollected]; metas.Add(meta); ++nCollected; if (nCollected >= Count) { break; } } } else { // setup user defined columns metas = Format.SetupColumns(Columns); } // at least one column if (metas.Count == 0) { throw new InvalidOperationException("There is no column to display."); } // pass 2: mapping foreach (Meta meta in metas) { DataColumn column = Table.Columns[meta.Property]; switch (meta.Kind[0]) { case 'N': Map.Name = column.Ordinal; break; case 'O': Map.Owner = column.Ordinal; break; case 'Z': Map.Description = column.Ordinal; break; case 'C': Map.Columns.Add(column.Ordinal); break; case 'S': { if (Map.Length >= 0) { throw new InvalidOperationException("Column 'S' is used twice."); } Map.Length = column.Ordinal; } break; case 'D': { if (meta.Kind.Length < 2) { throw new InvalidOperationException(Res.InvalidColumnKind + "D"); } switch (meta.Kind[1]) { case 'C': { if (Map.CreationTime >= 0) { throw new InvalidOperationException("Column 'DC' is used twice."); } Map.CreationTime = column.Ordinal; } break; case 'M': { if (Map.LastWriteTime >= 0) { throw new InvalidOperationException("Column 'DM' is used twice."); } Map.LastWriteTime = column.Ordinal; } break; case 'A': { if (Map.LastAccessTime >= 0) { throw new InvalidOperationException("Column 'DA' is used twice."); } Map.LastAccessTime = column.Ordinal; } break; default: throw new InvalidOperationException(Res.InvalidColumnKind + meta.Kind); } } break; default: throw new InvalidOperationException(Res.InvalidColumnKind + meta.Kind); } } // pass 3: set plan SetPlan(PanelViewMode.AlternativeFull, Format.SetupPanelMode(metas)); base.Open(); }
public void WriteXmlSchema4() { string xmlschema = @"<?xml version=""1.0"" encoding=""utf-16""?> <xs:schema id=""Example"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> "; xmlschema = xmlschema + " <xs:element name=\"Example\" msdata:IsDataSet=\"true\" msdata:UseCurrentLocale=\"true\""; xmlschema = xmlschema + @"> <xs:complexType> <xs:choice minOccurs=""0"" maxOccurs=""unbounded""> <xs:element name=""MyType""> <xs:complexType> <xs:attribute name=""ID"" type=""xs:int"" use=""required"" /> <xs:attribute name=""Desc"" type=""xs:string"" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>"; DataSet ds = new DataSet("Example"); // Add MyType DataTable DataTable dt = new DataTable("MyType"); ds.Tables.Add(dt); dt.Columns.Add(new DataColumn("ID", typeof(int), "", MappingType.Attribute)); dt.Columns["ID"].AllowDBNull = false; dt.Columns.Add(new DataColumn("Desc", typeof (string), "", MappingType.Attribute)); ds.AcceptChanges(); StringWriter sw = new StringWriter(); ds.WriteXmlSchema(sw); string result = sw.ToString(); Assert.Equal(result.Replace("\r\n", "\n"), xmlschema.Replace("\r\n", "\n")); }
private DataSet f_Get_Data() { DataSet ads = null; try { string asql = "", aexp = "", auserid = "", aquyenso = "", aloaibn = "", aloaidv = ""; auserid = f_Getchecked(dgUser); aquyenso = f_Getchecked(dgSo); aloaibn = f_Getchecked(dgLoaibn); aloaidv = f_Getchecked(dgLoaidv); aexp = "to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy')>=to_date('" + txtTN.Text.Substring(0, 10) + "','dd/mm/yyyy') and to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') <= to_date('" + txtDN.Text.Substring(0, 10) + "','dd/mm/yyyy')"; if (auserid != "") { aexp += " and a.userid in (" + auserid + ")"; } if (aquyenso != "") { aexp += " and a.quyenso in (" + aquyenso + ")"; } if (aloaidv != "") { aexp += " and a.loai in (" + aloaidv + ")"; } if (aloaibn != "") { aexp += " and a.loaibn in (" + aloaibn + ")"; } // them dk checkbox thu truc tiep, tam ung, thanh toan ra vien// ok string str_c = ""; if (chkTT.Checked) { str_c = "'1',"; } if (chkTTRV.Checked) { str_c += "'3',"; //if (chkTTRV.Checked) str_c += "'2',"; } if (chkTU.Checked) { str_c += "'2',"; //if (chkTU.Checked) str_c += "'3',"; } if (chkTT.Checked || chkTTRV.Checked || chkTU.Checked) { aexp += " and a.ghichu in (" + str_c.Trim().Trim(',') + ")"; //aexp += " and a.ghichu in (" + str_c.Substring(0, str_c.Length - 1) + ")"; } // if (rdBC_02.Checked) { aexp += " and to_char(a.ngay,'dd/mm/yyyy') = to_char(a.ngayud,'dd/mm/yyyy')"; } else if (rdBC_03.Checked) { aexp += " and to_char(a.ngay,'dd/mm/yyyy') <> to_char(a.ngayud,'dd/mm/yyyy')"; } aexp = "where " + aexp.Trim(); asql = "select a.id,a.quyenso,b.sohieu,b.sohieubl,a.sobienlai,a.sotien,to_char(a.ngay,'dd/mm/yyyy') as ngay, case when to_date(to_char(a.ngayud,'dd/mm/yyyy'),'dd/mm/yyyy') < to_date(to_char(a.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') then to_char(a.ngayud,'dd/mm/yyyy') else to_char(a.ngay,'dd/mm/yyyy') end as ngaythu,a.mabn,d.hoten,d.namsinh, trim(d.sonha||' '||d.thon) as diachi, a.mavaovien,a.maql,a.loai,a.loaibn,a.userid, c.userid as user_userid, c.hoten as user_hoten,trim(a.ghichu) as ghichu from medibvmmyy.v_hoantra a left join medibv.v_quyenso b on a.quyenso=b.id and b.hide=0 left join medibv.v_dlogin c on a.userid=c.id left join medibv.btdbn d on a.mabn=d.mabn " + aexp + " order by a.ngay"; ads = m_v.get_data_mmyy(asql, txtTN.Text.Substring(0, 10), txtDN.Text.Substring(0, 10), true); // try { ads.Tables[0].Columns.Add("BHYTTra", typeof(decimal)).DefaultValue = 0; } catch { } try { ads.Tables[0].Columns.Add("BNTra", typeof(decimal)).DefaultValue = 0; } catch { } if (chkBHYTTraBnTra.Checked) { string s_tu = m_v.StringToDate(txtTN.Text).AddDays(-7).ToString("dd/MM/yyyy"); asql = "select a.mabn, b.quyenso, b.sobienlai, sum(c.bhyttra) as bhyttra, sum(c.sotien-c.bhyttra) as bntra"; asql += " from medibvmmyy.v_ttrvds a inner join medibvmmyy.v_ttrvll b on a.id=b.id inner join medibvmmyy.v_ttrvct c on b.id=c.id "; asql += " where c.idtra<>0"; asql += " and to_date(to_char(b.ngay,'dd/mm/yyyy'),'dd/mm/yyyy') between to_date('" + s_tu + "','dd/mm/yyyy') and to_date('" + txtDN.Text + "','dd/mm/yyyy')"; asql += " group by a.mabn, b.quyenso, b.sobienlai "; DataSet ads1 = m_v.get_data_mmyy(asql, s_tu.Substring(0, 10), txtDN.Text.Substring(0, 10), true); if (ads1 != null && ads1.Tables.Count > 0 && ads1.Tables[0].Rows.Count > 0) { DataRow dr2; foreach (DataRow dr in ads1.Tables[0].Rows) { dr2 = m_v.getrowbyid(ads.Tables[0], "mabn='" + dr["mabn"].ToString() + "' and quyenso=" + dr["quyenso"].ToString() + " and sobienlai=" + dr["sobienlai"].ToString()); if (dr2 != null) { dr2["BHYTTra"] = dr["bhyttra"].ToString(); dr2["BNTra"] = dr["bntra"].ToString(); } } ads.AcceptChanges(); } } // } catch (Exception ex) { MessageBox.Show(ex.ToString()); } return(ads); }
public void WriteXmlSchema6() { string xmlschema = @"<?xml version=""1.0"" encoding=""utf-16""?> <xs:schema id=""Example"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> " + @" <xs:element name=""Example"" msdata:IsDataSet=""true"" msdata:UseCurrentLocale=""true""" + @"> <xs:complexType> <xs:choice minOccurs=""0"" maxOccurs=""unbounded""> <xs:element name=""MyType""> <xs:complexType> <xs:attribute name=""Desc""> <xs:simpleType> <xs:restriction base=""xs:string""> <xs:maxLength value=""32"" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>"; DataSet ds = new DataSet("Example"); // Add MyType DataTable ds.Tables.Add("MyType"); ds.Tables["MyType"].Columns.Add(new DataColumn( "Desc", typeof(string), "", MappingType.Attribute)); ds.Tables["MyType"].Columns["Desc"].MaxLength = 32; ds.AcceptChanges(); StringWriter sw = new StringWriter(); ds.WriteXmlSchema(sw); string result = sw.ToString(); Assert.Equal(result.Replace("\r\n", "\n"), xmlschema.Replace("\r\n", "\n")); }
protected virtual DataSet PrepareDataSet(DataSet questDataSet, string scriptPath) { DataSet dataSet = questDataSet.Copy(); foreach (DataRow quest in dataSet.Tables[DB.TABLE_QUEST].Rows) { quest[DB.COL_QUEST_DESCRIPTION] = Utils.Escape(quest[DB.COL_QUEST_DESCRIPTION]); quest[DB.COL_QUEST_NAME] = Utils.Escape(quest[DB.COL_QUEST_NAME]); quest[DB.COL_QUEST_TITLE] = Utils.Escape(quest[DB.COL_QUEST_TITLE]); } foreach (DataRow questStep in dataSet.Tables[DB.TABLE_QUESTSTEP].Rows) { questStep[DB.COL_QUESTSTEP_DESCRIPTION] = Utils.Escape(questStep[DB.COL_QUESTSTEP_DESCRIPTION]); } String invitingNPC = (string)dataSet.Tables[DB.TABLE_QUEST].Rows[0][DB.COL_QUEST_INVITINGNPC]; // check for string parameter in action, trigger, requirement and add needed ",' foreach (DataRow row in dataSet.Tables[DB.TABLE_QUESTPARTTRIGGER].Rows) { row[DB.COL_QUESTPARTTRIGGER_TYPENAME] = typeof(eTriggerType).Name + "." + Enum.GetName(typeof(eTriggerType), row[DB.COL_QUESTPARTTRIGGER_TYPE]); string triggerType = Convert.ToString(row[DB.COL_QUESTPARTTRIGGER_TYPE]); DataRow[] triggerRows = DB.TriggerTypeTable.Select(DB.COL_TRIGGERTYPE_ID + "=" + triggerType + ""); if (triggerRows.Length != 1) { throw new QuestPartConfigurationException("No or multiple Triggertypes found for " + triggerType); } string k = Convert.ToString(triggerRows[0][DB.COL_TRIGGERTYPE_K]); row[DB.COL_QUESTPARTTRIGGER_K] = PrepareValue(dataSet, row[DB.COL_QUESTPARTTRIGGER_K], k); string i = Convert.ToString(triggerRows[0][DB.COL_TRIGGERTYPE_I]); row[DB.COL_QUESTPARTTRIGGER_I] = PrepareValue(dataSet, row[DB.COL_QUESTPARTTRIGGER_I], i); } foreach (DataRow row in dataSet.Tables[DB.TABLE_QUESTPARTREQUIREMENT].Rows) { row[DB.COL_QUESTPARTREQUIREMENT_TYPENAME] = typeof(eRequirementType).Name + "." + Enum.GetName(typeof(eRequirementType), row[DB.COL_QUESTPARTREQUIREMENT_TYPE]); string requType = Convert.ToString(row[DB.COL_QUESTPARTREQUIREMENT_TYPE]); DataRow[] requRows = DB.RequirementTypeTable.Select(DB.COL_REQUIREMENTTYPE_ID + "=" + requType + ""); if (requRows.Length != 1) { throw new QuestPartConfigurationException("No or multiple Requirementtypes found for " + requType); } string n = Convert.ToString(requRows[0][DB.COL_REQUIREMENTTYPE_N]); row[DB.COL_QUESTPARTREQUIREMENT_N] = PrepareValue(dataSet, row[DB.COL_QUESTPARTREQUIREMENT_N], n); string v = Convert.ToString(requRows[0][DB.COL_REQUIREMENTTYPE_V]); row[DB.COL_QUESTPARTREQUIREMENT_V] = PrepareValue(dataSet, row[DB.COL_QUESTPARTREQUIREMENT_V], v); } foreach (DataRow row in dataSet.Tables[DB.TABLE_QUESTPARTACTION].Rows) { row[DB.COL_QUESTPARTACTION_TYPENAME] = typeof(eActionType).Name + "." + Enum.GetName(typeof(eActionType), row[DB.COL_QUESTPARTACTION_TYPE]); string actionType = Convert.ToString(row[DB.COL_QUESTPARTACTION_TYPE]); DataRow[] actionRows = DB.ActionTypeTable.Select(DB.COL_ACTIONTYPE_ID + "=" + actionType + ""); if (actionRows.Length != 1) { throw new QuestPartConfigurationException("No or multiple Actiontypes found for " + actionType); } string p = Convert.ToString(actionRows[0][DB.COL_ACTIONTYPE_P]); row[DB.COL_QUESTPARTACTION_P] = PrepareValue(dataSet, row[DB.COL_QUESTPARTACTION_P], p); string q = Convert.ToString(actionRows[0][DB.COL_ACTIONTYPE_Q]); row[DB.COL_QUESTPARTACTION_Q] = PrepareValue(dataSet, row[DB.COL_QUESTPARTACTION_Q], q); } // find a candidate for defaultNPC foreach (DataRow row in dataSet.Tables[DB.TABLE_QUESTPART].Rows) { int questPartID = (int)row[DB.COL_QUESTPART_ID]; string defaultNPC = invitingNPC; DataRow[] triggerRows = dataSet.Tables[DB.TABLE_QUESTPARTTRIGGER].Select(DB.COL_QUESTPARTTRIGGER_QUESTPARTID + "=" + questPartID); foreach (DataRow triggerRow in triggerRows) { if (DB.isMobName(triggerRow[DB.COL_QUESTPARTTRIGGER_I])) { defaultNPC = (string)triggerRow[DB.COL_QUESTPARTTRIGGER_I]; break; } else if (DB.isMobName(triggerRow[DB.COL_QUESTPARTTRIGGER_K])) { defaultNPC = (string)triggerRow[DB.COL_QUESTPARTTRIGGER_K]; break; } } DataRow[] requRows = dataSet.Tables[DB.TABLE_QUESTPARTREQUIREMENT].Select(DB.COL_QUESTPARTREQUIREMENT_QUESTPARTID + "=" + questPartID); foreach (DataRow requRow in requRows) { if (DB.isMobName(requRow[DB.COL_QUESTPARTREQUIREMENT_N])) { defaultNPC = (string)requRow[DB.COL_QUESTPARTREQUIREMENT_N]; break; } else if (DB.isMobName(requRow[DB.COL_QUESTPARTREQUIREMENT_V])) { defaultNPC = (string)requRow[DB.COL_QUESTPARTREQUIREMENT_V]; break; } } DataRow[] actionRows = dataSet.Tables[DB.TABLE_QUESTPARTACTION].Select(DB.COL_QUESTPARTACTION_QUESTPARTID + "=" + questPartID); foreach (DataRow actionRow in actionRows) { if (DB.isMobName(actionRow[DB.COL_QUESTPARTACTION_P])) { defaultNPC = (string)actionRow[DB.COL_QUESTPARTACTION_P]; break; } else if (DB.isMobName(actionRow[DB.COL_QUESTPARTACTION_Q])) { defaultNPC = (string)actionRow[DB.COL_QUESTPARTACTION_Q]; break; } } row[DB.COL_QUESTPART_DEFAULTNPC] = defaultNPC; } // Accept all changes made dataSet.AcceptChanges(); return(dataSet); }
public void DeserializeModifiedDataSet() { // Serialization begins DataSet prevDs = new DataSet(); DataTable dt = prevDs.Tables.Add(); dt.Columns.Add(new DataColumn("Id", typeof(string))); DataRow dr = dt.NewRow(); dr[0] = "a"; dt.Rows.Add(dr); prevDs.AcceptChanges(); dr = prevDs.Tables[0].Rows[0]; dr[0] = "b"; XmlSerializer serializer = new XmlSerializer(typeof(DataSet)); StringWriter sw = new StringWriter(); XmlTextWriter xw = new XmlTextWriter(sw); xw.QuoteChar = '\''; serializer.Serialize(xw, prevDs); // Deserialization begins StringReader sr = new StringReader(sw.ToString()); XmlTextReader reader = new XmlTextReader(sr); XmlSerializer serializer1 = new XmlSerializer(typeof(DataSet)); DataSet ds = serializer1.Deserialize(reader) as DataSet; Assert.Equal( prevDs.Tables[0].Rows[0][0, DataRowVersion.Original].ToString(), ds.Tables[0].Rows[0][0, DataRowVersion.Original].ToString()); Assert.Equal( prevDs.Tables[0].Rows[0][0, DataRowVersion.Current].ToString(), ds.Tables[0].Rows[0][0, DataRowVersion.Current].ToString()); }
private void btnSave_Click(object sender, EventArgs e) { PrintPO.ordernumber = null; PrintPO.orderdate = null; PrintPO.supplier = null; PrintPO.totalamount = null; PrintPO.suppAddress = null; PrintPO.itemcode = null; PrintPO.quantity = null; PrintPO.description = null; PrintPO.unitvalue = null; PrintPO.totalvalue = null; if (cbSupplierName.Text == "") { MessageBox.Show("Please select a supplier", "Incomplete Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Warning); cbSupplierName.Focus(); return; } if (cbLocation.Text == "") { MessageBox.Show("Please select a location", "Incomplete Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Warning); cbLocation.Focus(); return; } if (dgvItemDetail.Rows[0].Cells[0].Value == null) { MessageBox.Show("Please select an item to purchase", "Incomplete Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } adp = new SqlDataAdapter("Select * from PurchaseOrder", con); ds.Clear(); adp.Fill(ds, "PurchaseOrder"); DataTable MyTable = ds.Tables["PurchaseOrder"]; DataRow newRow = MyTable.NewRow(); newRow[0] = lblPONumber.Text; newRow[1] = cbSupplierName.Text; newRow[2] = lblDate.Text; newRow[3] = "Not Received"; newRow[4] = lblTotalValue.Text; //Adding new row to the table MyTable.Rows.Add(newRow); //Generating Insert Command SqlCommandBuilder UpdateDataCommand = new SqlCommandBuilder(adp); adp.InsertCommand = UpdateDataCommand.GetInsertCommand(); //Addding row to the dataset adp.Update(ds, "PurchaseOrder"); //Updating Database with the new row ds.AcceptChanges(); //--Storing in 'PODetails' Table-- int rows; rows = dgvItemDetail.RowCount - 1; // Retrieving deatils of the PoDetails Table SqlDataAdapter adp1 = new SqlDataAdapter("Select * from PODetails", con); DataSet ds1 = new DataSet(); ds1.Clear(); adp1.Fill(ds1, "PODetails"); //creating instance of the PODetails table DataTable MyTable1 = ds1.Tables["PODetails"]; for (int i = 0; i < rows; i++) { DataRow newRow1 = MyTable1.NewRow(); newRow1[0] = lblPONumber.Text; newRow1[1] = cbLocation.Text; newRow1[2] = dgvItemDetail.Rows[i].Cells["Item"].Value; newRow1[3] = dgvItemDetail.Rows[i].Cells["Description"].Value; newRow1[4] = dgvItemDetail.Rows[i].Cells["Quantity"].Value; newRow1[5] = dgvItemDetail.Rows[i].Cells["UnitValue"].Value; newRow1[6] = dgvItemDetail.Rows[i].Cells["TotalValue"].Value; //Adding new row to the table MyTable1.Rows.Add(newRow1); //Generating Insert Command SqlCommandBuilder UpdateDataCommand1 = new SqlCommandBuilder(adp1); adp1.InsertCommand = UpdateDataCommand1.GetInsertCommand(); //Addding row to the dataset adp1.Update(ds1, "PODetails"); //Updating Database with the new row ds1.AcceptChanges(); } con.Close(); MessageBox.Show("Purchase Order Details Saved"); // Creating a print Page PrintPO.ordernumber = lblPONumber.Text; PrintPO.orderdate = lblDate.Text; PrintPO.supplier = cbSupplierName.Text; PrintPO.totalamount = lblTotalValue.Text; SqlDataAdapter adp3 = new SqlDataAdapter("Select SuppAddress from Suppliers where SuppName = '" + cbSupplierName.Text + "'", con); DataSet ds3 = new DataSet(); ds.Clear(); adp3.Fill(ds3, "Suppliers"); PrintPO.suppAddress = ds3.Tables["Suppliers"].Rows[0]["SuppAddress"].ToString(); int rowcount = dgvItemDetail.RowCount; for (int i = 0; i < rowcount; i++) { PrintPO.itemcode += dgvItemDetail.Rows[i].Cells["Item"].Value + Environment.NewLine; PrintPO.quantity += dgvItemDetail.Rows[i].Cells["Quantity"].Value + Environment.NewLine; PrintPO.description += dgvItemDetail.Rows[i].Cells["Description"].Value + Environment.NewLine; PrintPO.unitvalue += dgvItemDetail.Rows[i].Cells["UnitValue"].Value + Environment.NewLine; PrintPO.totalvalue += dgvItemDetail.Rows[i].Cells["TotalValue"].Value + Environment.NewLine; } PrintPO ppo = new PrintPO(); ppo.ShowDialog(); //Resetting the Purchase Order Form lblTotalValue.Text = "0"; dgvItemDetail.Rows.Clear(); cbLocation.SelectedIndex = -1; cbSupplierName.SelectedIndex = -1; lblPONumber.Text = PONumber(); }
private void localSetup() { _ds = new DataSet("test"); _dt1 = new DataTable("test1"); _dt1.Columns.Add("id1", typeof(int)); _dt1.Columns.Add("name1", typeof(string)); //dt1.PrimaryKey = new DataColumn[] { dt1.Columns["id"] }; _dt1.Rows.Add(new object[] { 1, "mono 1" }); _dt1.Rows.Add(new object[] { 2, "mono 2" }); _dt1.Rows.Add(new object[] { 3, "mono 3" }); _dt1.AcceptChanges(); _dt2 = new DataTable("test2"); _dt2.Columns.Add("id2", typeof(int)); _dt2.Columns.Add("name2", typeof(string)); _dt2.Columns.Add("name3", typeof(string)); //dt2.PrimaryKey = new DataColumn[] { dt2.Columns["id"] }; _dt2.Rows.Add(new object[] { 4, "mono 4", "four" }); _dt2.Rows.Add(new object[] { 5, "mono 5", "five" }); _dt2.Rows.Add(new object[] { 6, "mono 6", "six" }); _dt2.AcceptChanges(); _ds.Tables.Add(_dt1); _ds.Tables.Add(_dt2); _ds.AcceptChanges(); }
// Initializing Of Fields public void InitializingOfFields() { // // Initializing Paths Of Starting Folder And Log File // string PathOfStartingFolder = System.Windows.Forms.Application.StartupPath; this.PathToLogFile = PathOfStartingFolder + "\\ServerOfTransferOfPriceLists.txt"; this.EnableScrapingLog = true; this.CountOfRowsInLogFile = 1000; // this.PathToFileOfSettings = PathOfStartingFolder + "\\Settings.bin"; // // Reading Settings Of Working // CurrentSettings = new DataTable("Settings"); DataTable SettingsOfWorking = GettingSettings(); // // Initializing Converting Of PriceList // try { Converting = new ConvertingOfPriceList(this.PathToLogFile); // // Settings Of ConvertingOfPriceList // /*Converting.PathToFolderOfPriceLists = * SettingsOfWorking.Rows.Find("PathToFolderOfPriceLists")["Value"].ToString();*/ Converting.IDOfPharmacy = (int)SettingsOfWorking.Rows.Find("IDOfPharmacy")["Value"]; Converting.MaskOfFullPriceList = SettingsOfWorking.Rows.Find("MaskOfFullPriceList")["Value"].ToString(); Converting.MaskOfReceipts = SettingsOfWorking.Rows.Find("MaskOfReceptionOfPriceList")["Value"].ToString(); Converting.MaskOfDeleting = SettingsOfWorking.Rows.Find("MaskOfDefectionOfPriceList")["Value"].ToString(); // /*Converting.NotDeletingPriceList = * (bool)SettingsOfWorking.Rows.Find("NotDeletingPriceList")["Value"];*/ Converting.UseOfIDOfPriceList = (bool)SettingsOfWorking.Rows.Find("UseOfIDOfPriceList")["Value"]; // Converting.ShowingMessages = false; } catch (Exception E) { // this.RecordingInLogFile( String.Format("ERROR Error At Initializaing ConvertingOfPriceList: {0}", E.Message)); } // RecordingInLogFile("Initializing ConvertingOfPriceList"); // // Initializing Reading Of Information Data For MySQL // try { Reading = new Reading.ReadingOfDataForMySQL( SettingsOfWorking.Rows.Find("StringOfConnection")["Value"].ToString(), PathOfStartingFolder + "\\", this.PathToLogFile); // // Settings Of ReadingOfInformationDataForMySQL // Reading.ShowingMessages = false; } catch (Exception E) { // this.RecordingInLogFile( String.Format("ERROR Error At Initializaing ReadingOfInformationDataForMySQL: {0}", E.Message)); } // RecordingInLogFile("Initializing ReadingOfInformationDataForMySQL"); // // Initializing Management Of PriceList // try { Management = new ManagementOfPriceList( SettingsOfWorking.Rows.Find("StringOfConnection")["Value"].ToString(), Reading, this.PathToLogFile); // // Settings Of ManagementOfPriceList // Management.LoadingPriceListIsCompleted += new ManagementOfPriceList.ReturnOfEvent(Management_LoadingPriceListIsCompleted); Management.ShowingMessages = false; //Management.SizeOfPackageOfUpdating = 1000; } catch (Exception E) { // this.RecordingInLogFile( String.Format("ERROR Error At Initializaing ManagementOfPriceList: {0}", E.Message)); } // RecordingInLogFile("Initializing ManagementOfPriceList"); // // Exchange FTP And Local DataBase // try { Exchange = new ExchangeFTPAndLocalDataBase(this.PathToLogFile); // // Settings Of ExchangeFTPAndLocalDataBase // Exchange.PathToArchivingProgram = PathOfStartingFolder + "\\Rar.exe"; Exchange.PathToImportOfFTP = SettingsOfWorking.Rows.Find("PathOfImportingData")["Value"].ToString(); Exchange.PathToTMPFolder = Path.GetDirectoryName(PathOfStartingFolder) + "\\TMP\\"; Exchange.UsePassive = (bool)SettingsOfWorking.Rows.Find("UsePassive")["Value"]; // Exchange.ShowingMessages = false; Exchange.IncludedShowingMessages = false; } catch (Exception E) { // this.RecordingInLogFile( String.Format("ERROR Error At Initializaing ExchangeFTPAndLocalDataBase: {0}", E.Message)); } // RecordingInLogFile("Initializing ExchangeFTPAndLocalDataBase"); // // Transfer Of Data // try { Transfer = new TransferOfData(Converting, Management, Exchange, this.PathToLogFile); // // Settings Of TransferOfData // Transfer.DatesOfTransfer = Reading.GettingDatesOfTransfer(); Transfer.PathToSendLogFile = this.PathToLogFile; Transfer.StringOfConnection = SettingsOfWorking.Rows.Find("StringOfConnection")["Value"].ToString(); Transfer.IDOfDrugstore = (int)SettingsOfWorking.Rows.Find("IDOfPharmacy")["Value"]; // Transfer.ShowingMessages = false; // // Creating List Of Settings // DataSet Settings = new DataSet("SendingData"); // DataTable InformationOfSettings = new DataTable("InformationOfSettings"); InformationOfSettings.Columns.Add("Key", typeof(string)); InformationOfSettings.Columns.Add("Value", typeof(object)); InformationOfSettings.Rows.Add("VersionOfSettings", "1"); InformationOfSettings.Rows.Add("VersionOfApplication", "1.5.0.0"); Settings.Tables.Add(InformationOfSettings); // DataTable ListOfSettings = GettingSettings().Copy();; ListOfSettings.TableName = "ListOfSettings"; Settings.Tables.Add(ListOfSettings); // Settings.AcceptChanges(); // Transfer.Settings = Settings; // } catch (Exception E) { // this.RecordingInLogFile( String.Format("ERROR Error At Initializaing TransferOfData: {0}", E.Message)); } RecordingInLogFile("Initializing TransferOfData"); // //Transfer.SendingLog(); }
public void SerializeDataSet3() { string xml = @"<?xml version=""1.0"" encoding=""utf-8""?><DataSet><xs:schema id=""Example"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""><xs:element name=""Example"" msdata:IsDataSet=""true""><xs:complexType><xs:choice maxOccurs=""unbounded"" minOccurs=""0""><xs:element name=""Packages""><xs:complexType><xs:attribute name=""ID"" type=""xs:int"" use=""required"" /><xs:attribute name=""ShipDate"" type=""xs:dateTime"" /><xs:attribute name=""Message"" type=""xs:string"" /><xs:attribute name=""Handlers"" type=""xs:int"" /></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"" xmlns:diffgr=""urn:schemas-microsoft-com:xml-diffgram-v1""><Example><Packages diffgr:id=""Packages1"" msdata:rowOrder=""0"" ID=""0"" ShipDate=""2004-10-11T17:46:18.6962302-05:00"" Message=""Received with no breakage!"" Handlers=""3"" /><Packages diffgr:id=""Packages2"" msdata:rowOrder=""1"" ID=""1"" /></Example></diffgr:diffgram></DataSet>"; DataSet ds = new DataSet("Example"); // Add a DataTable DataTable dt = new DataTable("Packages"); ds.Tables.Add(dt); // Add an ID DataColumn w/ ColumnMapping = MappingType.Attribute dt.Columns.Add(new DataColumn("ID", typeof(int), "", MappingType.Attribute)); dt.Columns["ID"].AllowDBNull = false; // Add a nullable DataColumn w/ ColumnMapping = MappingType.Attribute dt.Columns.Add(new DataColumn("ShipDate", typeof(DateTime), "", MappingType.Attribute)); dt.Columns["ShipDate"].AllowDBNull = true; // Add a nullable DataColumn w/ ColumnMapping = MappingType.Attribute dt.Columns.Add(new DataColumn("Message", typeof(string), "", MappingType.Attribute)); dt.Columns["Message"].AllowDBNull = true; // Add a nullable DataColumn w/ ColumnMapping = MappingType.Attribute dt.Columns.Add(new DataColumn("Handlers", typeof(int), "", MappingType.Attribute)); dt.Columns["Handlers"].AllowDBNull = true; // Add a non-null value row DataRow newRow = dt.NewRow(); newRow["ID"] = 0; newRow["ShipDate"] = DateTime.Now; newRow["Message"] = "Received with no breakage!"; newRow["Handlers"] = 3; dt.Rows.Add(newRow); // Add a null value row newRow = dt.NewRow(); newRow["ID"] = 1; newRow["ShipDate"] = DBNull.Value; newRow["Message"] = DBNull.Value; newRow["Handlers"] = DBNull.Value; dt.Rows.Add(newRow); ds.AcceptChanges(); XmlSerializer ser = new XmlSerializer(ds.GetType()); StringWriter sw = new StringWriter(); ser.Serialize(sw, ds); string result = sw.ToString(); Assert.Equal(xml, result); }
/// <summary> /// Consider NR = NewerDataset.Minus(oldDataSet) /// NR will be any new records that weren't present in oldDataSet, but exist in NewerDataset /// /// Consider DR = oldDataSet.Minus(NewerDataset) /// DR will be any deleted rows that existed in oldDataset but did not appear in NewerDataset. /// </summary> /// <param name="mainDataSet"></param> /// <param name="subtractorDataSet"></param> /// <returns>If subtractorDataSet is null, this function just returns mainDataSet...</returns> public static DataSet Minus(this DataSet mainDataSet, DataSet subtractorDataSet) { #region Declare variables DataSet MainDataSet = mainDataSet.Copy(); string formatterText = ""; // this is used to format the svl query on the dataset eg "{0} = {1}" string[] myColumnNamesAndVals = new string[subtractorDataSet.Tables[0].Columns.Count * 2]; // This needs to be refactored Dictionary <string, string> columnValuePairs = new Dictionary <string, string>(); #endregion #region Check that function can run if (subtractorDataSet.Tables.Count < 1) { return(MainDataSet); } // if the two DataSets aren't comparable (ie columns don't match) then throw exception if (mainDataSet.Tables[0].Columns.Count != subtractorDataSet.Tables[0].Columns.Count) { throw new Exception("You attempted to compare two datasets whose first tables had a different number of columns in it. \n\nDataSet.Minus(DataSet)"); } for (int i = 0; i < mainDataSet.Tables[0].Columns.Count; i++) // check that each columns name and dataset are equal { if (mainDataSet.Tables[0].Columns[i].ColumnName != subtractorDataSet.Tables[0].Columns[i].ColumnName) { throw new Exception("You attempted to compare two datasets whose first tables had differing column Names... \n They must appear in the same order... \n\nDataSet.Minus(DataSet)"); } if (mainDataSet.Tables[0].Columns[i].DataType != subtractorDataSet.Tables[0].Columns[i].DataType) { throw new Exception("You attempted to compare two datasets whose first tables had differing column datatypes. \n\nDataSet.Minus(DataSet)"); } } #endregion //myColumnNamesAndVals = setColumnNamesForDataArray(myColumnNamesAndVals, subtractorDataSet.Tables[0].Columns); for (int i = 0; i < subtractorDataSet.Tables[0].Columns.Count * 2; i = i + 2) // Set the Column names for each column (but not their values) { myColumnNamesAndVals[i] = subtractorDataSet.Tables[0].Columns[i / 2].ColumnName; // " {0} = {1} AND {2} = {3} AND {4} = {5} AND {6} = {7} AND {8} = {9} AND {10} = {11} AND {12} = {13} AND {14} = {15} AND {16} = {17} AND {18} = {19} AND {20} = {21}" formatterText += " {" + i + "} = {" + (i + 1) + "} AND"; // this should be generated based on whether the value is null or not... // so done down below } formatterText = formatterText.Substring(1, formatterText.Length - 4); // nop off the final " AND" int rowCounter = 0; foreach (DataRow subtractorRow in subtractorDataSet.Tables[0].Rows) { rowCounter++; DataColumnCollection subtractorColumns = subtractorDataSet.Tables[0].Columns; // select query: index = 1, data = bla List <string> nullDateOrCurrencyColumnNames = new List <string>(); bool doNulls = false; for (int i = 0; i < subtractorColumns.Count; i++) { string rowsType = subtractorColumns[i].DataType.Name.ToLower(); bool skip = false; string rowsDataAsString = ""; //if (((int)subtractorRow[0]) == 238967 && myColumnNamesAndVals[(i * 2)] == "Employee") // rowsDataAsString = ""; #region Format SQL string based on datatype (SWITCH CASE) switch (rowsType) // Break at: subtractorDataSet.Tables[0].Columns[0] == 238967 { case "autoincrement": rowsDataAsString = Convert.ToString(subtractorRow[i]); break; case "datetime": if (subtractorRow[i].GetType().Name == "DBNull") { //throw new Exception("You have a null date field in one of your databases, and I don't know what to do to select a null date filed in a dataset. Sry =("); // Alt: // //rowsDataAsString = "\"\""; myColumnNamesAndVals[(i * 2)] = myColumnNamesAndVals[((i - 1) * 2)]; myColumnNamesAndVals[(i * 2) + 1] = myColumnNamesAndVals[((i - 1) * 2) + 1]; skip = true; doNulls = true; nullDateOrCurrencyColumnNames.Add(subtractorDataSet.Tables[0].Columns[i].ColumnName); } else { DateTime theDate = (DateTime)subtractorRow[i]; rowsDataAsString = "#" + theDate.ToShortDateString() + "#"; } break; case "int32": rowsDataAsString = Convert.ToString(subtractorRow[i]); if (rowsDataAsString == "") { myColumnNamesAndVals[(i * 2)] = myColumnNamesAndVals[((i - 1) * 2)]; myColumnNamesAndVals[(i * 2) + 1] = myColumnNamesAndVals[((i - 1) * 2) + 1]; skip = true; doNulls = true; nullDateOrCurrencyColumnNames.Add(subtractorDataSet.Tables[0].Columns[i].ColumnName); } break; case "decimal": rowsDataAsString = Convert.ToString(subtractorRow[i]); if (rowsDataAsString == "") { myColumnNamesAndVals[(i * 2)] = myColumnNamesAndVals[((i - 1) * 2)]; myColumnNamesAndVals[(i * 2) + 1] = myColumnNamesAndVals[((i - 1) * 2) + 1]; skip = true; doNulls = true; nullDateOrCurrencyColumnNames.Add(subtractorDataSet.Tables[0].Columns[i].ColumnName); } break; case "double": rowsDataAsString = Convert.ToString(subtractorRow[i]); break; case "string": if (subtractorRow[i].GetType().Name == "DBNull") { // "JobNotes" = "Customer" // null = "588" myColumnNamesAndVals[(i * 2)] = myColumnNamesAndVals[((i - 1) * 2)]; myColumnNamesAndVals[(i * 2) + 1] = myColumnNamesAndVals[((i - 1) * 2) + 1]; skip = true; doNulls = true; nullDateOrCurrencyColumnNames.Add(subtractorDataSet.Tables[0].Columns[i].ColumnName); } else { rowsDataAsString = "'" + ((string)subtractorRow[i]).EscapeSingleQuotes() + "'"; } break; //case "yesno": // rowsDataAsString = Convert.ToString(subtractorRow[i]); // break; case "boolean": if (subtractorRow[i].GetType().Name == "DBNull") { break; } rowsDataAsString = Convert.ToString(subtractorRow[i]); break; default: throw new Exception("unexpected datatype. Add this type to the case switch in the Minus extention."); } #endregion if (!skip) { myColumnNamesAndVals[(i * 2) + 1] = rowsDataAsString; } } string svl = string.Format(formatterText, // eg "{0} = {1}, {2} = {3}" myColumnNamesAndVals); // eg { "Index", "1", "StringData", "'bla'" } DataRow[] HitRows = MainDataSet.Tables[0].Select(svl); // Look in MainDataset to see if the subtractor's record exists there // and if it does, delete it from the MainDataset #region delete all rows that were found in the subtractor row aswell as in the MainDataSet foreach (DataRow rw in HitRows) // Check each row of the hits... { // I could check for nulls here manually, but that might be a sloppy method if (doNulls) { foreach (string nullDate in nullDateOrCurrencyColumnNames) // Scan through all the null columns and... { if (rw[nullDate].GetType().Name == "DBNull") // if they're actually DBNull... then... delete them from hits? { rw.Delete(); // this doesn't work because it deletes it at the first Null occurance, instead of 100% null match break; } } } else { rw.Delete(); } } #endregion // reset the array incase we messed with it in our "optimized" way... myColumnNamesAndVals = setColumnNamesForDataArray(myColumnNamesAndVals, subtractorDataSet.Tables[0].Columns); // OPTIMIZE bury this behind a bool check or get rid of all these damn bool checks } MainDataSet.AcceptChanges(); return(MainDataSet); }