conn.Execute(str)执行插入操作时,返回记录集吗?

pgmsoul 2009-08-19 11:10:05
var str = "insert into shop(type,operate,goods,number,price) values (...);";
var conn = new ActiveXObject("ADODB.connection");
conn.Open("PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=;PWD=;DATABASE=;");
conn.Execute(str);
conn.Close();
conn = null;

没有关闭记录集这样会不会造成资源泄漏。
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weileiweilei110 2009-08-19
  • 打赏
  • 举报
回复
规范性的写法是创建一个recordset对象,用完后将其释放,这样做的好处是可以节省内存,又避免资源泄漏
凡夫与俗子 2009-08-19
  • 打赏
  • 举报
回复
一般不需要的。不放心就加上也可以。
shenymce 2009-08-19
  • 打赏
  • 举报
回复
应该不会的,你的conn都已经关闭了
xuyue3000 2009-08-19
  • 打赏
  • 举报
回复
同意楼上的- -
pgmsoul 2009-08-19
  • 打赏
  • 举报
回复
其实 conn = null这句也没用,一般页面执行完了,这些变量自然会释放。
xb520hh 2009-08-19
  • 打赏
  • 举报
回复
不会返回
rivate Sub cmdAdd_Click() Dim str1 As String Dim cnn As New ADODB.Connection '数据库连接 If cmdAdd.Caption = "新增" Then '按钮为“新增”状态 cmdAdd.Caption = "保存" '修改按钮标题为“保存”,提示用户保存数据 cmdCancel.Visible = True '显示“取消”按钮 lstbus.Enabled = False '禁止用户操作列表框 LockControl (False) '允许用户操作窗口中部分控件 txtbus.Text = "" '清除“线路名”文本框 txtBeginEnd.Text = "" '清除“运行区间”文本框 cmbTickType.Text = "无人售票" '设置售票类型的默认值 cmbPrice.Text = "上车一元" '设置票价的默认值 optIC2.Value = True '设置不支持IC卡 txtRuntime.Text = "" '清除“运行间”文本框 txtCompany.Text = "" '清除“公交公司”文本框 txtMemo.Text = "" '清除“备注”文本框 Else If Not CheckInput Then Exit Sub '调用CheckInput函数检查输入数据 cmdAdd.Caption = "新增" '修改按钮标题为“新增” cmdCancel.Visible = False '隐藏“取消按钮" lstbus.Enabled = True '允许用户操作列表框 LockControl (True) '锁定窗口中部分控件 '定义新增数据的SQL语句 str1 = "INSERT INTO [BUS]([bus],[beginend],[ticktype],[price]" str1 = str1 + ",[ic],[runtime],[company],[memo]) VALUES(" 'INSERT INTO语句 str1 = str1 + "'" + txtbus.Text + "','" '线路名 str1 = str1 + txtBeginEnd.Text + "','" '运行区间 str1 = str1 + cmbTickType.Text + "','" '售票类型 str1 = str1 + cmbPrice.Text + "'," '票价 If optIC1.Value Then '是否支持IC卡 str1 = str1 + "true,'" '支持 Else str1 = str1 + "false,'" '不支持 End If str1 = str1 + txtRuntime.Text + "','" '运行str1 = str1 + txtCompany.Text + "','" '公交公司 str1 = str1 + txtMemo.Text + "')" '备注 cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 cnn.Execute (str1) '执行INSERT INTO语句插入数据 cnn.Close '关闭数据库连接 Form_Load '调用窗体装载事件代码,重新将线路信息显示在列表框中 End If End Sub Private Sub cmdCancel_Click() '“取消”按钮放弃输入的值 lstbus.Enabled = True '允许用户操作列表框 cmdCancel.Visible = False '隐藏“取消”按钮,使其不可见 cmdAdd.Caption = "新增" '修改“保存”按钮标题为“新增” LockControl (True) '锁定窗口中部分控件 lstbus_Click '调用列表框的单击事件代码 End Sub Private Sub cmdExit_Click() '退出当前窗体 Dim ret As Integer If cmdAdd.Caption = "保存" Then '判断是否有输入的信息未保存 ret = MsgBox("新增数据还未保存,是否退出?", vbQuestion + vbYesNo) '获取用户的选择 If ret = vbNo Then '选择“否” Exit Sub '退出当前过程,则不退出当前窗体 End If End If Unload Me '退出当前窗体 End Sub Private Sub Form_Load() '窗体初始化代码 Dim cnn As New ADODB.Connection '定义数据库连接变量 Dim rst As New ADODB.Recordset '定义记录集变量 LockControl (True) '锁定窗口中部分控件 cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 Set rst.ActiveConnection = cnn '设置记录集的数据库连接 rst.Open "SELECT [bus] FROM [bus]" '打开记录集,得到线路名数据 lstbus.Clear '清除列表框中原有内容 Do While Not rst.EOF '循环处理记录集中的数据 lstbus.AddItem rst(0).Value '将线路名添加到列表框中 rst.MoveNext '处理下一记录 Loop If lstbus.ListCount > 0 Then '列表框中有数据 lstbus.ListIndex = 0 '选中第1个数据 End If rst.Close '关闭记录集 cnn.Close '关闭数据库连接 End Sub Private Sub Label2_Click() End Sub Private Sub Label8_Click() End Sub Private Sub lstbus_Click() '单击列表框,更新右侧的显示数据 Dim cnn As New ADODB.Connection '定义数据库连接 Dim rst As New ADODB.Recordset '定义记录集 Dim str1 As String, str2 As String '临字符串变量 str1 = lstbus.List(lstbus.ListIndex) '获取列表框中的选中项(可介绍一下列表框) cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 Set rst.ActiveConnection = cnn '设置记录集的数据库连接 str2 = "SELECT * FROM [BUS] WHERE BUS='" & Trim(str1) & "'" '定义查询字符串 rst.Open str2 '打开记录集 If Not rst.EOF Then '若记录集不为空,显示内容 'gID = rst("id") '记录关键字 txtbus.Text = rst("bus") '线路名 txtBeginEnd.Text = rst("beginend") '运行区间 cmbTickType.Text = rst("ticktype") '售票类型 cmbPrice.Text = rst("price") '票价 If rst("ic") = True Then '支持IC卡 optIC1.Value = True Else '不支持IC卡

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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