本文整理汇总了C#中System.Data.DataSet.BeginInit方法的典型用法代码示例。如果您正苦于以下问题:C# DataSet.BeginInit方法的具体用法?C# DataSet.BeginInit怎么用?C# DataSet.BeginInit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.DataSet
的用法示例。
在下文中一共展示了DataSet.BeginInit方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BeginInitTest
[Test] public void BeginInitTest ()
{
DataSet ds = new DataSet ();
DataTable table1 = new DataTable ("table1");
DataTable table2 = new DataTable ("table2");
DataColumn col1 = new DataColumn ("col1", typeof (int));
DataColumn col2 = new DataColumn ("col2", typeof (int));
table1.Columns.Add (col1);
table2.Columns.Add (col2);
UniqueConstraint pkey = new UniqueConstraint ("pk", new string[] {"col1"}, true);
ForeignKeyConstraint fkey = new ForeignKeyConstraint ("fk", "table1", new String[] {"col1"},
new String[] {"col2"}, AcceptRejectRule.Cascade,
Rule.Cascade, Rule.Cascade);
DataRelation relation = new DataRelation ("rel", "table1", "table2", new String[] {"col1"},
new String[] {"col2"}, false);
ds.BeginInit ();
table1.BeginInit ();
table2.BeginInit ();
ds.Tables.AddRange (new DataTable[] {table1, table2});
ds.Relations.AddRange (new DataRelation[] {relation});
table1.Constraints.AddRange (new Constraint[] {pkey});
table2.Constraints.AddRange (new Constraint[] {fkey});
// The tables/relations shud not get added to the DataSet yet
Assert.AreEqual (0, ds.Tables.Count, "#1");
Assert.AreEqual (0, ds.Relations.Count, "#2");
Assert.AreEqual (0, table1.Constraints.Count, "#3");
Assert.AreEqual (0, table2.Constraints.Count, "#4");
ds.EndInit ();
Assert.AreEqual (2, ds.Tables.Count, "#5");
Assert.AreEqual (1, ds.Relations.Count, "#6");
Assert.AreEqual (1, ds.Tables [0].Constraints.Count, "#7");
Assert.AreEqual (1, ds.Tables [1].Constraints.Count, "#8");
// Table shud still be in BeginInit ..
DataColumn col3 = new DataColumn ("col2");
UniqueConstraint uc = new UniqueConstraint ("uc", new string[] {"col2"}, false);
table1.Columns.AddRange (new DataColumn[] {col3});
table1.Constraints.AddRange (new Constraint[] {uc});
Assert.AreEqual (1, table1.Columns.Count, "#9");
Assert.AreEqual (1, table1.Constraints.Count, "#10");
table1.EndInit ();
Assert.AreEqual (2, table1.Columns.Count, "#11");
Assert.AreEqual (2, table1.Columns.Count, "#12");
}
示例2: ExecuteSelect
internal static DataSet ExecuteSelect(EDtxReaderType connType, int timeout, IDbConnection conn, string cmdText, ParamHelper[] paramList, ref TimeSpan executionTime)
{
DateTime started = DateTime.Now;
IDataReader reader = null;
IDbCommand cmd = null;
bool bConnOpenedHere = EnsureConnectionOpen(conn);
IDbTransaction transaction = conn.BeginTransaction();
DataSet retv = new DataSet();
try
{
cmd = conn.CreateCommand();
cmd.CommandTimeout = timeout;
cmd.Transaction = transaction;
cmd.CommandText = cmdText;
DbType[] reqLenTypes = new DbType[] { DbType.AnsiString, DbType.AnsiStringFixedLength, DbType.String, DbType.StringFixedLength, DbType.Binary, DbType.Object, DbType.Xml };
for (int i = 0; i < paramList.Length; i++)
{
IDbDataParameter idb = cmd.CreateParameter();
cmd.Parameters.Add(HelperFunctions.BuildParameter(idb, paramList[i]));
if(reqLenTypes.Contains(idb.DbType))
{
if (idb is OdbcParameter)
{
(idb as OdbcParameter).Size = paramList[i].Size;
}
else if (idb is CtreeSqlParameter)
{
(idb as CtreeSqlParameter).Size = paramList[i].Size;
}
}
}
switch(connType)
{
case EDtxReaderType.Adapter:
case EDtxReaderType.FaircomAdapter:
{
IDbDataAdapter adap = GetAdapter(connType, cmd);
retv.BeginInit();
//Since the FillSchema and Fill functions return the same instance of 'DataTable'
//There is probably a better way of doing this, but for sake of explination
//Read the db schema
bool bSchemaFound = false;
DataTable[] dta = adap.FillSchema(retv, SchemaType.Source);
DataTable clone = null;
if(dta.Length > 0)
{
bSchemaFound = true;
dta[0].TableName = "SchemaTable"; //Ensure the table is named 'SchemaTable'
retv.Tables.Remove(dta[0]); //Drop the table from the dataset
clone = dta[0].Clone(); //Clone the results
dta[0].TableName = "Table"; //Rename the datatable instance back to table
}
adap.Fill(retv); //Fill 'Table' with the actual results
if(bSchemaFound && clone != null)
retv.Tables.Add(clone); //Now add the 'schematable' back to the results
retv.EndInit();
break;
}
default:
{
DataTable dt;
reader = cmd.ExecuteReader();
if (reader.FieldCount > 0)
{
retv.Tables.Add(dt = new DataTable("Table"));
retv.Tables.Add(reader.GetSchemaTable());
switch (connType)
{
case EDtxReaderType.FaircomReader:
case EDtxReaderType.Reader:
{
dt.Load(reader, LoadOption.OverwriteChanges);
}
break;
case EDtxReaderType.FaircomReaderSafe:
case EDtxReaderType.ReaderSafe:
default:
{
bool columnsBuilt = false;
while (reader.Read())
{
if (columnsBuilt == false)
{
BuildColumnData(dt, reader);
columnsBuilt = true;
}
AddDataRow(dt, reader);
}
}
break;
}
}
break;
}
}
transaction.Commit();
//.........这里部分代码省略.........
示例3: mainForm_Load
private void mainForm_Load(object sender, EventArgs e)
{
try
{
evaDataSet.BeginInit();
evaDataSet.EnforceConstraints = true;
evaDataSet.ReadXml("EventAction.xml", XmlReadMode.IgnoreSchema);
evaDataSet.EndInit();
}
catch
{
updateApplicationStatus(ApplicationState.Alert, @"Unable to read EventAction XML database.");
}
try
{
configDataSet = new DataSet();
configDataSet.BeginInit();
configDataSet.ReadXml("Configuration.xml");
configDataSet.EndInit();
}
catch
{
updateApplicationStatus(ApplicationState.Alert, @"Unable to read Configuration XML database.");
}
try
{
DataTable dataTable = configDataSet.Tables["GamepadController"];
DataRow dataRow = dataTable.Rows[0];
int playerIndex = Convert.ToInt32(dataRow["player"]);
gamepadController = new PG3B.Interface.GamepadController(playerIndex);
}
catch
{
updateApplicationStatus(ApplicationState.Warning, @"Unable to initialize GamePad.");
}
try
{
DataTable dataTable = configDataSet.Tables["XBoxController"];
DataRow dataRow = dataTable.Rows[0];
string portName = Convert.ToString(dataRow["port"]);
xboxController = new PG3B.Interface.XBoxController(portName);
switch (Convert.ToString(dataRow["model"]))
{
case "WiredCommonLine":
xboxController.IsWireless = false;
break;
case "WirelessCommonGround":
xboxController.IsWireless = true;
break;
}
}
catch
{
updateApplicationStatus(ApplicationState.Alert, @"Unable to initialize PG3B using Config.xml file.");
}
UpdateControllerStatus();
InitializeSubForms();
}