当前位置: 首页>>代码示例>>C#>>正文


C# DbProviderFactory.ExecuteNonQuery方法代码示例

本文整理汇总了C#中System.Data.Common.DbProviderFactory.ExecuteNonQuery方法的典型用法代码示例。如果您正苦于以下问题:C# DbProviderFactory.ExecuteNonQuery方法的具体用法?C# DbProviderFactory.ExecuteNonQuery怎么用?C# DbProviderFactory.ExecuteNonQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.Common.DbProviderFactory的用法示例。


在下文中一共展示了DbProviderFactory.ExecuteNonQuery方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: _CreateDatabase

        private static void _CreateDatabase(DbProviderFactory provider, string connectionString, string providerName)
        {
            string dbName, dbFile;
            string connStr = _StripDbName(connectionString, providerName, out dbName, out dbFile);
            var command = new StringBuilder(); // Build SQL Command..

            if (providerName == SQLiteProvider)
            {
                // Do nothing..
                return;
            }

            if (providerName == SqlCe)
            {
                if (File.Exists(dbName))
                {
                    File.Delete(dbName);
                }

                Type type = Type.GetType("System.Data.SqlServerCe.SqlCeEngine, System.Data.SqlServerCe");
                PropertyInfo localConnectionString = type.GetProperty("LocalConnectionString");
                MethodInfo createDatabase = type.GetMethod("CreateDatabase");

                object engine = Activator.CreateInstance(type);
                localConnectionString.SetValue(engine, string.Format("Data Source='{0}';", dbName), null);

                createDatabase.Invoke(engine, new object[0]);

                return;
            }

            if (providerName == Firebird)
            {
                if (File.Exists(dbName))
                {
                    File.Delete(dbName);
                }

                Type type = Type.GetType("FirebirdSql.Data.FirebirdClient.FbConnection, FirebirdSql.Data.FirebirdClient");
                MethodInfo createDatabase = type.GetMethod(
                                                "CreateDatabase",
                                                new[]
                {
                    typeof(string), typeof(int), typeof(bool),
                    typeof(bool)
                });

                object engine = Activator.CreateInstance(type);
                createDatabase.Invoke(engine, new object[] { connectionString, 8192, true, false });

                return;
            }
            else if (providerName == OracleDataProvider)
            {
                throw new NotImplementedException();
            }
            else if (providerName == PostgreSQLProvider)
            {
                command.AppendFormat(CultureInfo.InvariantCulture, "CREATE DATABASE \"{0}\" WITH ENCODING = 'UTF8'", dbName);
            }
            else if (providerName == MsSqlProvider)
            {
                command.AppendFormat(CultureInfo.InvariantCulture, "CREATE DATABASE [{0}] ", dbName);

                // Handle MSSQL AttachDBFile..
                if (providerName == MsSqlProvider && !string.IsNullOrEmpty(dbFile))
                {
                    string fname = Path.GetFileNameWithoutExtension(dbFile);
                    string pathname = Path.Combine(Path.GetDirectoryName(dbFile), fname);

                    command.AppendFormat(
                        CultureInfo.InvariantCulture,
                        "ON PRIMARY (NAME = {0}, FILENAME = '{1}.mdf', SIZE = 10MB) " + "LOG ON (NAME = {0}_log, FILENAME = '{1}.ldf', SIZE = 2MB)",
                        fname,
                        pathname);
                }
            }

            log.DebugFormat(CultureInfo.InvariantCulture, "Creating Database '{0}..", dbName);
            provider.ExecuteNonQuery(connStr, command.ToString());
            log.InfoFormat(CultureInfo.InvariantCulture, "Database instance '{0}' created!", dbName);
        }
开发者ID:ufozy,项目名称:Account.Hexa.Core,代码行数:82,代码来源:DatabaseManager.cs


注:本文中的System.Data.Common.DbProviderFactory.ExecuteNonQuery方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。