我一直在寻找几个小时,并发现了几个问题,但他们都没有以我能理解的方式解释这一点。
我正在编写类似于Rock Paper Sissors的游戏,除了有更多的选择,以及领带的可能性。我最初硬编码了所有可能的结果,然后决定尝试一个数据库,这样我也可以学习和练习sql。
问题是,我无法弄清楚我的生活如何连接到我的本地数据库,现在我已经设置并通过Visual Studio 2010填充它。我可以通过Server Explorer连接到它就好了,我可以在解决方案资源管理器中看到它。我尝试了几件事,按照以下方式:
Private sqlConn As New SqlConnection("Data Source=(local)|DataDirectory|\Outcomes.sdf;database=Outcomes;Integrated Security=true")
Private sqlConn As New SqlConnection("Data Source=.\SQLEXPRESS; Integrated Security=true")
Dim sqlConn As SqlConnection
sqlConn = New SqlConnection("DataSource=..\..\Outcomes.sdf")
我对sql相对较新,但通过修改构建一个sql语句并获得我想要的结果就足够了解。但我以前从未连接过数据库。我看过MSDN并尝试了我在那里看到的一些东西(一切看起来像我需要的东西,真的)但它仍然没有用。
如果我可以连接,我已经设置了语句,并通过数据库本身进行了测试。任何帮助都会很棒,特别是如果它以我能理解的方式解释并在以后使用它。
此外,如果通过我尝试的代码有帮助而没有注意到,我的数据库名称为Outcomes
。我不知道这是否需要或将有所帮助,但以防万一。
答案 0 :(得分:2)
了解您正在使用的DBMS类型也会有所帮助。我注意到你有一个.sdf数据库文件,而不是DBMS(例如:MySql,SQL或Oracle)。因此,您的连接字符串实际上取决于您想要的内容。
顺便问一下你的问题......
Private sqlConn As New SqlConnection("Data Source=(local)|DataDirectory|\Outcomes.sdf;database=Outcomes;Integrated Security=true")
*您无法使用您使用的SqlConnection,因为它不支持使用.sdf文件。
相反,您必须使用: System.Data.SqlServerCe '这是针对紧凑版
如果您想了解更多相关信息,请参阅here.
答案 1 :(得分:1)
坎德拉,
以下是以编程方式访问数据库时需要遵循的逻辑步骤:
注意:我猜你有正确的SQLExpress | SQL Server数据库设置无论是本地还是远程,下面的方法都是相同的,除了连接字符串信息。
1)导入Sql AdoNet命名空间,以便您可以使用正确的SQL Server客户端对象&方法;
a)Imports System.Data.SqlClient
2)使用ADO连接对象建立与数据库的连接:
'创建您的ADO连接对象:
Private myConn As SqlConnection
myConn = New SqlConnection("Initial Catalog=OutComes;" & _
"Data Source=localhost;Integrated Security=SSPI;")
注意:此连接字符串使用Windows计算机的集成安全性。您还可以使用标准安全性,您需要输入用户名和密码凭据。这是你的选择。
3)设置您的ADO命令对象以定义您的数据检索查询:
'Create a Command object.
Private myCmd As SqlCommand
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT FirstName, LastName FROM Employees"
'Open the connection.
myConn.Open()
注意:根据您自己的数据库架构为您的实际查询替换CommandText字符串。
4)使用SQLDataReader对象读取,获取,显示数据 :
Private results As String
Private myReader As SqlDataReader
myReader = myCmd.ExecuteReader()
'Traverse the DataSet and Display in GUi for Example:
Do While myReader.Read()
results = results & myReader.GetString(0) & vbTab & _
myReader.GetString(1) & vbLf
Loop
'Display results.
MsgBox(results)
5)优雅地关闭所有对象使用:
' Close the reader and the database connection.
myReader.Close()
myConn.Close()
注意 - 您需要咨询microsoft以获取更多连接字符串格式,因为我没有足够的信息。但这应该为你澄清实际的大图片步骤。
此致 斯科特