小编ste*_*cec的帖子

未使用 adAsyncExecute 参数触发 ExecuteComplete ADODB 连接事件

我在尝试异步执行存储过程的完成时遇到问题。

在我的代码 VBA 下面(在名为 clsAsync 的类模块中):

Option Explicit

Private WithEvents cnn As ADODB.Connection


Private Sub cnn_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
    MsgBox "Execution completed"
End Sub

Sub execSPAsync()
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    cnn.ConnectionString = "connection to my database SQLSEREVER"
    cnn.Open
    cnn.Execute "kp.sp_WaitFor", adExecuteNoRecords, adAsyncExecute
End Sub
Run Code Online (Sandbox Code Playgroud)

这个类是 PublicNotCreatable。

要从模块调用子 execSPAsync,我使用以下代码:

Sub testASYNC()
    Dim a As New clsAsync …
Run Code Online (Sandbox Code Playgroud)

excel events vba ado event-handling

5
推荐指数
1
解决办法
4740
查看次数

使用clickonce在c#解决方案中部署外部文件

我在使用Visual Studio Express 2010 c#版时遇到了问题.我有一个引用DLL的项目.此DLL有一个外部Excel文件,标记为Build Action = Content Copy to Output Directory = Copy Always

构建解决方案时,此Excel文件已正确复制到BIN\release解决方案文件夹中.

但是,如果我尝试使用"发布"向导部署相同的解决方案,则不会在安装目录中复制Excel文件.

拜托,有人可以帮帮我吗?

c# clickonce

4
推荐指数
2
解决办法
8968
查看次数

避免SQL 2005和2008之间的"无法在分布式事务中使用SAVE TRANSACTION"错误

在我们的生产环境中,我们有一个存储过程(在sql 2005服务器中),它将数据从远程存储过程(存储在远程sql 2008中)导入到本地表中.

代码是这样的:

insert  <<local table name>> (fund, strat, clr, [id], position, unsettledPosition)
exec    <<remote stored proc name>> 'aapl us' , '2013-05-13'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法在分布式事务中使用SAVE TRANSACTION.

当前事务无法提交,也无法支持写入日志文件的操作.回滚交易.

我已经配置了本地和远程DTC,允许通过网络进行DTC访问,允许远程客户端选项,还允许入站和出站通信,最后启用XA事务,但没有任何成功.

直到昨天,远程服务器是一个旧的SQL 2005,我的代码运行良好,然后我想我错过了新服务器2008中的一些配置设置.

请有人帮帮我吗?

sql-server msdtc sql-server-2008

2
推荐指数
1
解决办法
3877
查看次数

相当于VBA TRIM函数Excel和工作表函数

我知道TRIM函数作为工作表函数和VBA函数返回不同的结果:

  • 工作表函数从文本字符串中删除所有空格,除了单词之间的单个空格
  • 而VBA函数只删除前导和尾随空格.

有一种方法可以使用工作表函数模拟VBA行为,没有自定义VBA函数?

excel vba trim excel-vba

1
推荐指数
1
解决办法
9021
查看次数