关于New OleDbConnection(cnstr)在各个过程调用问题

gzh4225 2018-01-21 03:35:44
Dim cn As OleDbConnection

Dim da As OleDbDataAdapter

Dim ds As DataSet

Dim cnstr As String

Dim crecommand As OleDbCommand

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\VB\db1.mdb"

cn = New OleDbConnection(cnstr)

cn.Open()

cnstr = "create table " + TextBox3.Text + " (id int identity(1,1) primary key,摘要 varchar(20),内容 varchar(200))"

crecommand = New OleDbCommand(cnstr, cn)

crecommand.ExecuteNonQuery()

End Sub

我在其它过程中直接写
cnstr = "insert into " + TextBox3.Text + "(摘要,内容) values('" + TextBox2.Text + "','" + TextBox1.Text + "')"

crecommand = New OleDbCommand(cnstr, cn)

crecommand.ExecuteNonQuery()

提示 ExecuteNonQuery() 异常,在前面添加下面语句就好了。

cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\VB\db1.mdb"

cn = New OleDbConnection(cnstr)

cn.Open()

我想问下,是不是每个过程中都要写cn = New OleDbConnection(cnstr),那是不是每个过程都要连接access一次?

每次连接后是自动断开吗?每个过程调用时没有显示重复连接的提示。

本人新新手,望指教!
...全文
497 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
FainSheeg 2018-01-21
  • 打赏
  • 举报
回复
引用 3 楼 gzh4225的回复:
[quote=引用 2 楼 yangliu0512 的回复:] 不需要,既然你定义成了全局变量,就只需要创建一次实例,你在窗体的LOAD事件事NEW一次就行了。忍不住得吐槽一下,连接字符串和SQL命令共用一个变量,至于吗?
我在load事件中new一次了,但是其它过程使用还得new一下。要不就报错。 你说的那个共用一个变量,是不太好,已经改成另一个了,谢谢![/quote] 报的什么错?发上来看下
gzh4225 2018-01-21
  • 打赏
  • 举报
回复
引用 2 楼 yangliu0512 的回复:
不需要,既然你定义成了全局变量,就只需要创建一次实例,你在窗体的LOAD事件事NEW一次就行了。忍不住得吐槽一下,连接字符串和SQL命令共用一个变量,至于吗?
我在load事件中new一次了,但是其它过程使用还得new一下。要不就报错。 你说的那个共用一个变量,是不太好,已经改成另一个了,谢谢!
FainSheeg 2018-01-21
  • 打赏
  • 举报
回复
不需要,既然你定义成了全局变量,就只需要创建一次实例,你在窗体的LOAD事件事NEW一次就行了。忍不住得吐槽一下,连接字符串和SQL命令共用一个变量,至于吗?
shoppo0505 2018-01-21
  • 打赏
  • 举报
回复
是的。架构就是如此, 如果需要简化,你可以将: cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\VB\db1.mdb" cn = New OleDbConnection(cnstr) cn.Open() crecommand = New OleDbCommand(cnstr, cn) crecommand.ExecuteNonQuery() 设为一个函数,调用的时候,直接加入cnstr。 你也可以尝试保存connection pool,需要时候直接调用。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧