连接到数据库而不显式打开连接

时间:2012-12-05 16:50:44

标签: vb.net ado.net

我正在帮助一位仍在大学读书的朋友。该课教授VB.NET和ADO.NET(当然非常糟糕)。我只是通过我在工作中支持的遗留应用程序,对ADO.NET有简短的经验。

她尝试实施的页面非常简单:包含usernamepasswordsubmit按钮输入的表单。有一些功能问题,但在查看代码时,我发现了一些奇怪的东西。以下是她在页面顶部用于设置连接的代码

Public Shared Con As New SqlConnection("Data Source = asdfa; Initial Catalog= asdf; Persist Security Info = True; User ID= dfasdf; Password = asdf")
Public Shared strSQLStatement As String
Public Shared strSQLStatementCmd As String
Public Shared daActivity As New SqlDataAdapter(strSQLStatement, Con)
Public Shared dsActivity As New DataSet

我没有像我预期的那样看到con.open()的声音。据我所知,ADO.NET需要这样的命令来初始建立连接。我向她询问了这一点,她提到她从未使用open()命令在她的任何其他作业中建立联系,她获得了全部功劳。这段代码中有什么东西可以自动为我打开连接吗?

也许我对ADO.NET的理解被解释了。如果我错了,请纠正我,但语言纯粹用于连接数据库,并以这种方式完成

Set up connection string
Open connection
Create sql strings, such as command = "select * from table1"
Tell the open connection to run that sql
Close Connection

这看起来是对的吗?帮帮我。

由于

2 个答案:

答案 0 :(得分:3)

SqlDataAdapter会自动为您打开和关闭连接。

  

Fill方法使用SELECT从数据源中检索行   由关联的SelectCommand属性指定的语句。该   与SELECT语句关联的连接对象必须有效,   但不需要打开。如果之前连接已关闭   调用Fill,打开它以检索数据,然后关闭。如果   在调用Fill之前连接已打开,它仍保持打开状态。

http://msdn.microsoft.com/en-us/library/905keexk.aspx

答案 1 :(得分:0)

Dim MovingDA作为新的OleDbDataAdapter(sqlbyworknum,myConnection)   MovingDA.Fill(MovingDT)

只是你在declraing DA时使用new并传递sql并且你连接它将是opend并运行