miniSql

创建
zgc123@gmail.com authored at 11/19/2023 1:40:15 AM
6136600
Tree
0 Parent(s)
Summary: 1 changed files with 43 additions and 0 deletions.
Added +43 -0
Added +43 -0
diff --git a/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/OleDbSchemaService.cs b/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/OleDbSchemaService.cs
new file mode 100644
index 0000000..9054018
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/OleDbSchemaService.cs
@@ -0,0 +1,43 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+#endregion
+
+using System.Collections.Generic;
+using System.Data.Common;
+
+namespace MiniSqlQuery.Core.DbModel
+{
+    /// <summary>The ole db schema service.</summary>
+    public class OleDbSchemaService : GenericSchemaService
+    {
+        /// <summary>The get db types.</summary>
+        /// <param name="connection">The connection.</param>
+        /// <returns></returns>
+        public override Dictionary<string, DbModelType> GetDbTypes(DbConnection connection)
+        {
+            var types = base.GetDbTypes(connection);
+
+            foreach (var dbType in types.Values)
+            {
+                if (dbType.CreateFormat.Length == 0)
+                {
+                    // probably MS Access
+                    switch (dbType.Name)
+                    {
+                        case "VarChar":
+                            dbType.CreateFormat = "VarChar({0})";
+                            break;
+                        case "VarBinary":
+                            dbType.CreateFormat = "VarBinary({0})";
+                            break;
+                    }
+                }
+            }
+
+            return types;
+        }
+    }
+}
\ No newline at end of file