请问如何使用Conn.Execute 执行SQL语句?
PrivateSub启用_Click()DimstrSQLAsStringDimConnAsConnectionIfMe.预订合同查询子窗体!是否启用=TrueThens...
Private Sub 启用_Click()
Dim strSQL As String
Dim Conn As Connection
If Me.预订合同查询子窗体!是否启用 = True Then
strSQL = "UPDATE 租赁合同基本资料 SET 合同状态 = 1 " _
& "WHERE 合同编号ID = " & Me.预订合同查询子窗体!合同编号ID
Conn.Execute (strSQL)
总是显示ERROR:块或With块变量未设置 展开
Dim strSQL As String
Dim Conn As Connection
If Me.预订合同查询子窗体!是否启用 = True Then
strSQL = "UPDATE 租赁合同基本资料 SET 合同状态 = 1 " _
& "WHERE 合同编号ID = " & Me.预订合同查询子窗体!合同编号ID
Conn.Execute (strSQL)
总是显示ERROR:块或With块变量未设置 展开
2个回答
展开全部
给你一个我用的方法:
-----------------------------------------------------
DatabasePath="../db/****.mdb" '数据库路径
MM_Conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & DatabasePath &"")
set conn=server.CreateObject("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & DatabasePath &"")
if err then
err.Clear
set conn=nothing
response.write("对不起!数据库连接错误。")
response.End
end if
Function GetRecordset(SQLString)
Dim MM_Recordset_cmd
Set MM_Recordset_cmd = Server.CreateObject ("ADODB.Command")
MM_Recordset_cmd.ActiveConnection = MM_Conn_STRING
MM_Recordset_cmd.CommandText = SQLString
MM_Recordset_cmd.Prepared = true
Set GetRecordset = MM_Recordset_cmd.Execute
End Function
-----------------------------------------------------------------------------------
用这样的方法,在执行时,通常只要:
GetRecordset(SQLString)
调用就可以了。如果需要记录集,则:
Set Myrecordset = GetRecordset(SQLString)
很清楚的用法,通常不会混淆。按“良好的编程习惯”,每次的Open,都必须要Close,开和关是成对出现就最好不过了。
-----------------------------------------------------
DatabasePath="../db/****.mdb" '数据库路径
MM_Conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & DatabasePath &"")
set conn=server.CreateObject("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & DatabasePath &"")
if err then
err.Clear
set conn=nothing
response.write("对不起!数据库连接错误。")
response.End
end if
Function GetRecordset(SQLString)
Dim MM_Recordset_cmd
Set MM_Recordset_cmd = Server.CreateObject ("ADODB.Command")
MM_Recordset_cmd.ActiveConnection = MM_Conn_STRING
MM_Recordset_cmd.CommandText = SQLString
MM_Recordset_cmd.Prepared = true
Set GetRecordset = MM_Recordset_cmd.Execute
End Function
-----------------------------------------------------------------------------------
用这样的方法,在执行时,通常只要:
GetRecordset(SQLString)
调用就可以了。如果需要记录集,则:
Set Myrecordset = GetRecordset(SQLString)
很清楚的用法,通常不会混淆。按“良好的编程习惯”,每次的Open,都必须要Close,开和关是成对出现就最好不过了。
追问
我没有连接别的数据库的,就是想批量修改当前数据库中,符合条件记录的合同状态,应该怎样写呢
追答
那就是你的SQL查询语句写法了,比如:
Update tablename set 合同状态 = 新状态 where 条件表达式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Conn 没有初始化呀
应该 Conn=new Connection(这里是连接数据库字符串)
应该 Conn=new Connection(这里是连接数据库字符串)
追问
我没有连接到别的数据库,就是本地的数据库,是不是就是Conn = new Connection(CurrentProject.Connection)
追答
那也不行,必须写Conn=new Connection("server=local;database=数据库;uid=用户名;pwd=密码")
这是连接sql server 数据库
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询