我正在使用SQL压缩数据库,我可以在导入它时测试连接并将确切的文件路径复制到我的代码,但它仍然说它尚未打开。我究竟做错了什么?如果我已经将数据库添加到我的项目中,是否有任何快捷方式可用?
谢谢!
Imports System.Data.SqlServerCe
Module Module1
Sub Main()
Dim constring As String = "Data Source=C:\Users\test\Desktop\MyDatabase1.sdf"
Dim conn As New SqlCeConnection(constring)
Dim cmd As New SqlCeCommand("SELECT * FROM ACCOUNT")
conn.Open()
Dim reader As SqlCeDataReader = cmd.ExecuteReader()
While reader.Read()
Console.WriteLine(reader)
End While
End Sub
End Module
答案 0 :(得分:2)
您需要为该命令分配连接:
紧接在这一行之后:
conn.Open()
添加:
cmd.Connection = conn
或者,您可以将连接添加到命令的构造函数:
Dim cmd As New SqlCeCommand("SELECT * FROM ACCOUNT", conn)
答案 1 :(得分:1)
使用SQL Server CE(3.5)的一个主要优点是将Linq转换为SQL。您应该使用强类型数据库和DataContext。如果你这样做,那么创建一个新的DataContext是一行代码,而不是8.如果你的DataBase文件不存在,你的DataContext的CreateDataTable方法将为你创建它们。稍微深入一点,因为使用SQL Server CE就像一个老式的OLEDB数据提供者......好吧......不是最优的: - )