本文整理汇总了C#中DBConnection.ExecuteReaderCommandWithSchemaOnlyBehavior方法的典型用法代码示例。如果您正苦于以下问题:C# DBConnection.ExecuteReaderCommandWithSchemaOnlyBehavior方法的具体用法?C# DBConnection.ExecuteReaderCommandWithSchemaOnlyBehavior怎么用?C# DBConnection.ExecuteReaderCommandWithSchemaOnlyBehavior使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBConnection
的用法示例。
在下文中一共展示了DBConnection.ExecuteReaderCommandWithSchemaOnlyBehavior方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: validateQueryAndGetColumns
private static List<Column> validateQueryAndGetColumns( DBConnection cn, Configuration.SystemDevelopment.Query query )
{
// Attempt to query with every postSelectFromClause to ensure validity.
foreach( var postSelectFromClause in query.postSelectFromClauses ) {
cn.ExecuteReaderCommandWithSchemaOnlyBehavior(
DataAccessStatics.GetCommandFromRawQueryText( cn, query.selectFromClause + " " + postSelectFromClause.Value ),
r => { } );
}
return Column.GetColumnsInQueryResults( cn, query.selectFromClause, false );
}
示例2: testQueries
private static void testQueries( DBConnection cn, Configuration.SystemDevelopment.CustomModification[] mods )
{
// We don't test commands in Oracle because:
// 1. There's no good junk value to pass in.
// 2. The only way to keep the commands from actually modifying the database is with a transaction rollback, and we don't want to do that unless absolutely necessary.
// And we don't test commands in MySQL because of reason 2 above.
if( cn.DatabaseInfo is MySqlInfo || cn.DatabaseInfo is OracleInfo )
return;
foreach( var mod in mods ) {
foreach( var command in mod.commands ) {
var cmd = DataAccessStatics.GetCommandFromRawQueryText( cn, command );
try {
cn.ExecuteReaderCommandWithSchemaOnlyBehavior( cmd, r => { } );
}
catch( Exception e ) {
throw new UserCorrectableException( "Custom modification " + mod.name + " failed.", e );
}
}
}
}
示例3: GetColumnsInQueryResults
/// <summary>
/// If includeKeyInfo is true, all key columns for involved tables will be returned even if they were not selected.
/// </summary>
internal static List<Column> GetColumnsInQueryResults( DBConnection cn, string commandText, bool includeKeyInfo )
{
var cmd = DataAccessStatics.GetCommandFromRawQueryText( cn, commandText );
var columns = new List<Column>();
var readerMethod = new Action<DbDataReader>(
r => {
foreach( DataRow row in r.GetSchemaTable().Rows )
columns.Add( new Column( row, includeKeyInfo, cn.DatabaseInfo ) );
} );
if( includeKeyInfo )
cn.ExecuteReaderCommandWithKeyInfoBehavior( cmd, readerMethod );
else
cn.ExecuteReaderCommandWithSchemaOnlyBehavior( cmd, readerMethod );
return columns;
}