如何在一个应用程序中创建SQL CE 3.5和4.0数据库 [英] How to create SQL CE 3.5 and 4.0 databases in one app

查看:52
本文介绍了如何在一个应用程序中创建SQL CE 3.5和4.0数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在一个应用程序中创建SQL Server Compact 3.5和4.0数据库的方法是什么?



创建数据库的代码很简单:

What is a way to create SQL Server Compact 3.5 and 4.0 databases in a one application?

The code to create database is simple:

Imports System.Data.SqlServerCe

Friend Function CreateDatabase(ByVal connectionString As String) As Boolean

    Dim engine As SqlCeEngine = Nothing
    Try
        engine = New SqlCeEngine
        engine.LocalConnectionString = connectionString
        engine.CreateDatabase()
        Return True
    Catch ex As SqlCeException
        MsgBox(ex.Message, MsgBoxStyle.Critical)
        Return False
    Finally
        If engine IsNot Nothing Then engine.Dispose()
    End Try

End Function



但它只允许为一个版本创建数据库。


But it allows creating databases only for one version.

推荐答案

我已经解决了这个任务。



新的功能代码:

I've solved the task.

The new function code:
Imports System.Reflection
Imports System.Data.Common

Friend Function CreateDatabase(ByVal factory As DbProviderFactory, ByVal connectionString As String) As Boolean

    Dim asm As Assembly = Assembly.Load(factory.GetType.Assembly.FullName)
    Dim t As Type = asm.GetType("System.Data.SqlServerCe.SqlCeEngine")

    Dim engine = Nothing
    Try
        engine = Activator.CreateInstance(t)
        engine.LocalConnectionString = connectionString
        engine.CreateDatabase()
        Return True
    Catch ex As SystemException
        MsgBox(ex.Message, MsgBoxStyle.Critical)
        Return False
    Finally
        If engine IsNot Nothing Then engine.Dispose()
    End Try

End Function





用法:



Usage:

Dim factory As DbProviderFactory
Dim connectionString As String

factory = DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0")
connectionString = "Data Source=test40.sdf;"

CreateDatabase(factory, connectionString)

factory = DbProviderFactories.GetFactory("System.Data.SqlServerCe.3.5")
connectionString = "Data Source=test35.sdf;"

CreateDatabase(factory, connectionString)


这篇关于如何在一个应用程序中创建SQL CE 3.5和4.0数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆