- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下功能代码:
Call ConnSettings()
Dim objDs As New DataSet
Dim Query As String
Query = "the query"
Cmd = New MySqlCommand(Query, MysqlConn)
Dim dAdapter As New MySqlDataAdapter
dAdapter.SelectCommand = Cmd
''Dim dAdapter As New MySqlDataAdapter(Query, MysqlConn)
Try
MysqlConn.Open()
dAdapter.Fill(objDs)
MysqlConn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
MysqlConn.Dispose()
End Try
我注意到,如果我也使用,代码也同样有效
Dim dAdapter As New MySqlDataAdapter(Query, MysqlConn)
代替:
Cmd = New MySqlCommand(Query, MysqlConn)
Dim dAdapter As New MySqlDataAdapter
dAdapter.SelectCommand = Cmd
显然,我想使用单行而不是三行。但是,我是 VB 的新手,想知道这样做是否有任何问题。
最佳答案
让我们尝试改进您的代码....
第一个 ConnSettings 没有初始化一个全局连接变量而是一个本地连接变量并返回它
Public Function ConnSettings() As MySqlConnection
Dim conn As MySqlConnection
conn = new MySqlConnection(yourConnectionStringHere)
conn.Open()
return conn
End Function
现在需要 MySqlConnection 的代码可以调用这个 ConnSettings 并将返回值放在 Using 语句中
objDS = new DataSet()
Try
Using conn = ConnSettings()
Using dAdapter = New MySqlDataAdapter(theQuery, conn)
dAdapter.Fill(objDs)
End Using
End Using
Catch(ex as Exception
MessageBox.Show(ex.Message)
End Try
此代码将返回的连接放在 Using 语句中。当代码从 Using 语句中流出时,连接将被关闭并释放(对于 MySqlDataAdapter 也是如此)正如您所看到的,不需要 Finally 子句并且存在 Try/Catch block 只是因为您想要给出一条错误消息给你的用户(虽然这是一种常见的做法,但让你的用户处于尴尬的境地去尝试理解这些技术密集的消息、更好地使用日志文件并建议你的用户将日志发送给你是没有意义的)
在这种情况下,ConnSettings 中的代码也有点无用。您真正需要的只是连接字符串,您可以直接在调用代码中编写 MySqlConnection 的创建。
关于MySqlDataAdapter SelectCommand 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896788/
我有一个奇怪的问题。如果我使用 "SELECT filed1, field2…. FROM some_table WHERE field1 LIKE 'something'" 在“$grid->Sel
我有以下功能代码: Call ConnSettings() Dim objDs As New DataSet Dim Query As String Query = "the query" Cmd =
目前我会稍微清理一下我的代码,VS 告诉我,最好对 sql 命令使用 SqlParameter 而不是复合 string。所以我决定更改我的代码,不幸的是现在我没有得到结果,我也不知道为什么。这是我的
好的,我遇到了逻辑流程问题。出于某种原因,我声明的变量之一并没有在当前上下文中存在。错误在第 18 行: Exception Details: System.InvalidOperationExcep
在使用网站、加载内容等一段时间后,此消息显示“Fill:SelectCommand.Connection 属性尚未初始化”!我认为这是因为 sql 连接,但不确定......我想知道我能做些什么来防止
我正在尝试在我的应用程序中创建一个搜索框,为此我需要修改 SqlDataSource.SelectCommand。我将不胜感激任何帮助! 为了测试,我是这样做的,它可以工作,但它容易受到 sql 注入
我在尝试使用 SSIS 连接到 TSQL 数据库以便将数据导出到 Excel 文件时遇到以下错误。 System.InvalidOperationException: Fill: SelectComm
我有一个带有预定义列和一个选择命令的 GridView 。为什么我得到两次列?我想保留预定义的列和 select 命令,但要避免将列加倍。
DataSet ds = new DataSet(); SqlDataAdapter cmd = new SqlDataAdapter("Select * FROM event", con);
我想将变量从后面的代码传递到 SqlDataSource 的 SelectCommand? 我不想使用内置参数类型(如 ControlParameter、QueryStringParameter 等)
事实证明,我正在使用 SignalR,在 html View 中,我向客户端发出以下请求: var myHub = $.connection.myHub; var direccionWeb
当我尝试使用方法 GetCities() 时,它说: Fill: SelectCommand.Connection property has not been initialized. 谁能告诉我该怎
在调用“Fill”之前尚未初始化 SelectCommand 属性 我在运行 StoredProcedure.ExecuteDataSet() 时遇到此错误; DataSet ds= new Dat
我有一个绑定(bind)到 SqlDataSource 的 GridView,默认的 SelectCommand 定义如下: " ProviderName="MySql.Data.MySq
我试过这个例子,但没有用。 // get value and set in one variable // display successfully variable's value " Select
我正在使用 C# 构建 Windows 应用程序。在我的登录表单中,我得到了在调用 fill 方法之前未初始化 Select Command 属性。 代码如下: public partial clas
我想在 SqlDataSource SelectCommand 中使用下拉列表的选定值。
“我在 asp.net vb 中工作,我试图从 URL 中获取一个变量并将其传递到我的 sql 数据源的 select 语句中。到目前为止,我有这个,但它不适用于 asp.net。
我正在尝试将变量从 jQuery 传递到下拉列表中的 SqlDataSource。 首先,jQuery 的变量从 asp:dropdownlist_1 中获取值,然后将其保存在 jquery 的变量中
我有一个 GridView (gvPart),它的数据源是 SqlDataSource (sdsParts)。在 gvPart 上,我有属性 AllowPaging="true"。我还有一个 Text
我是一名优秀的程序员,十分优秀!