在没有明确打开连接的情况下连接到数据库
我正在帮助一位正在上大学的朋友做她的业务作业。该课程教授VB.NET和ADO.NET(当然非常糟糕)。我只通过我在工作中支持的遗留应用程序对ADO.NET有简短的经验。在没有明确打开连接的情况下连接到数据库
她试图实现的页面非常简单:一个输入为username
,password
和submit
按钮的窗体。有一些功能问题,但在查看代码时,我注意到一些奇怪的东西。这是她用在页面的顶部设置连接
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
确实似乎有关的权利如此做?帮助我帮助她。
感谢
SqlDataAdapter
将自动打开和关闭你的连接。
Fill方法使用由相关联的SelectCommand属性中指定的SELECT语句 数据源中检索行。与SELECT语句关联的连接对象 必须有效, 但它不需要打开。如果连接在 之前关闭,则会调用填充以检索数据,然后关闭。如果在调用Fill之前 连接已打开,它将保持打开状态。
感谢您的快速响应。我正在阅读SqlDataAdapter的文档。当该命令运行时,查询实际上并未正确执行?我需要使用'fill'。是否可以更改与该对象关联的sql命令字符串?我很抱歉,因为我通常只是自己尝试这种方式,但目前无法获得这种可用的环境。 – Jeff
'Fill'将执行'SelectCommand',您可以根据需要进行修改。 –
昏暗MovingDA作为新OleDbDataAdapter的(sqlbyworknum,MyConnection的) MovingDA.Fill(MovingDT)
只是你用新的declraing DA,并通过SQL和你的连接将运行结束并运行
您发布的内容中没有任何内容需要打开连接。哪里是使用它的代码。例如dsActivity.Fill? –