小编Nat*_*oop的帖子

发送多线程SendEmail请求返回General Mapi Failure

我正在使用Dave BrooksMAPI代码.

我试图以编程方式发送生成的Crystal报表.

当我在没有线程的情况下运行代码时,一切运行正常.问题是当我使用线程时,我得到返回错误"General MAPI failure [2]".

我之前从未使用过线程,并且理解存在危险.任何人都可以对此问题提供任何见解吗?注意:我已删除异常处理以使代码更清晰.

Private Sub RunReport()
    SetParameters()
    SaveReportFile()


    Dim operation As New ThreadStart(AddressOf SendEmail)
    Dim theThread As New Thread(operation)
    theThread.Start()
End Sub

Public Sub SendEmail()
   Dim m As MAPI
   m = New MAPI()
   Dim email As String
   For Each email In emailAddress
       m.AddRecipientBCC(email)
   Next email
   m.AddAttachment(@"c:\temp\report.pdf")
   m.SendMailPopup("Requested Report", "")
End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net mapi

6
推荐指数
2
解决办法
2665
查看次数

VS 2008和Team Explorer-签出了文件

如何搜索vs 2008 Team Explorer中其他用户签出的文件.我可以通过搜索搜索Visual Source Safe项目中检出的所有文件,是否在团队资源管理器中实现了类似的功能?现在我必须点击每个文件夹,看看该文件夹中的文件是否被其他任何人检出.

谢谢

visual-studio-2008 visual-studio

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

Crystal报告 - 关闭数据库连接

这是在C#,Visual Studio 2008,VS2008附带的水晶报告中

我有一个位于DLL中的水晶报表查看器表单.DLL负责加载水晶报告(基于报告文件名),并在表单上显示报告.

当我完成水晶报告后,我在已加载的reportdocument对象上调用dispose.但是,数据库连接仍然存在.

Crystal似乎检测到有其他连接(从我的主应用程序)到同一个数据库,并保持其连接打开.关闭主应用程序数据库连接时,晶体连接将关闭.

有没有办法迫使水晶关闭它的连接,而没有关闭主应用程序数据库连接?

c# sql-server report crystal-reports

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

重构If else树

我有一个if else树将会增长,因为我添加额外的项目来维护它,我正在寻找最好的方法来编写它的可维护性我从这个代码开始

private void ControlSelect()
{

    if (PostingType == PostingTypes.Loads && !IsMultiPost)
    {
        singleLoadControl.Visible = true;
          singleTruckControl.Visible = false;
          multiTruckControl.Visible = false;
          multiLoadControl.Visible = false;
    }
    else if (PostingType == PostingTypes.Trucks && !IsMultiPost)
    {
        singleLoadControl.Visible = false;
          singleTruckControl.Visible = true;
          multiTruckControl.Visible = false;
          multiLoadControl.Visible = false;
    }
    else if (PostingType == PostingTypes.Loads && IsMultiPost)
    {
        singleLoadControl.Visible = false;
          singleTruckControl.Visible = false;
          multiTruckControl.Visible = false;
          multiLoadControl.Visible = true;
    }
    else if (PostingType == PostingTypes.Trucks && IsMultiPost)
    {
        singleLoadControl.Visible = false;
        singleTruckControl.Visible …
Run Code Online (Sandbox Code Playgroud)

.net c# refactoring

6
推荐指数
3
解决办法
1197
查看次数

刷新没有"参数值"对话框的Crystal Reports

我正在为Visual Studio 2008运行Crystal Reports Basic.

我想基于参数动态刷新我的报告.

例如,我将签订客户合同,并且我希望在基于VB.NET winform按钮点击的客户之间切换.

我期待下面的代码能够正常工作,但我不断获得"输入参数值"对话框,为什么不使用我刚刚设置的参数值?

CustomerReport1.SetParameterValue("CustomerID", txtCustID.Text)
CrystalReportViewer1.RefreshReport()
Run Code Online (Sandbox Code Playgroud)

.net vb.net report crystal-reports

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

返回连续日期的临时表

我需要创建一个返回连续日期表的函数.我会传递一个最小和最大日期.

我希望它可以这样调用:

SELECT * FROM GetDates('01/01/2009', '12/31/2009')
Run Code Online (Sandbox Code Playgroud)

我目前有一个存储过程执行此操作,但需求已更改,现在我需要包括从联合中返回的数据:

 with mycte as
(
     select cast(@minDate as datetime) DateValue
     union all
     select DateValue + 1
     from    mycte   
     where   DateValue + 1 <= @maxDate
 )
 select DateValue
 from    mycte
option (maxrecursion 1000)
Run Code Online (Sandbox Code Playgroud)

然而,问题是我需要将递归设置为大于100.根据Gail Erickson [MS]关于eggheadcafe的帖子,目前不支持.

如果没有创建一个只有日期的真实(非临时)表,有没有办法做到这一点?

我使用的是SqlServer2005.

sql t-sql sql-server sql-server-2005

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

在SQL Server中报告错误的正确位置在哪里?

我在SQL Server 2008中发现了一个相当微不足道的错误.

我想向微软报告,但是,当我访问https://support.microsoft.com/时,我意识到我可能需要花费300加元来报告它.

有没有一个地方我可以报告这个错误而不花钱给我任何钱?


以下是该错误的示例:

作品:

USE [msdb]  
(SELECT * FROM msdbms)
Run Code Online (Sandbox Code Playgroud)

与失败 "关键字'秩序’附近有语法错误."

USE [msdb]  
(SELECT * FROM msdbms ORDER BY dbms)
Run Code Online (Sandbox Code Playgroud)

此外,如果我不正确,这不是一个错误可以解释为什么不呢?

编辑
我已将此添加到Microsoft Connect

bug-reporting sql-server-2008

5
推荐指数
2
解决办法
4241
查看次数

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

检索已禁用的ASP.NET文本框的值

我有3个ASP.NET文本框和一个HiddenField.第三个文本框的值(禁用此选项)取决于其他两个文本框的值.

公式是

txtPricepad = txtPrice/txtCarton

<asp:TextBox ID="txtPriceCase" runat="server" onblur="javascript:GetPricePerPad();></asp:TextBox>
<asp:TextBox ID="txtCarton" runat="server"></asp:TextBox>
<asp:TextBox ID="txtPricePad" Enabled="false" runat="server" ></asp:TextBox>
<asp:HiddenField ID="hdPricepad" runat="server"/>

  function GetPricePerPad()
  {
    var priceCase   = document.getElementById('ctl00_content_txtPriceCase').value;
    var cartons     = document.getElementById('ctl00_content_txtCarton').value;
    var res         = Number(priceCase) / Number(cartons);

    document.getElementById('ctl00_content_txtPricePad').value = res;
    document.getElementById('ctl00_content_hdPricepad').value = res;
  }
Run Code Online (Sandbox Code Playgroud)

假设txtPricePad的初始值为0且txtCarton为12.当txtPrice的值更改为1200时,将调用GetPricePerPad(),因此txtPricePad将为100.

Javascript成功地将txtPricePad的值更改为100但是当我从代码隐藏调用txtPricePad时,它的值仍为0.这就是为什么我还将公式的结果分配给HiddenField.还有其他方法吗?我不想再使用HiddenField.

asp.net textbox

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

为什么我应该在javascript中将函数分配给变量?

可能的重复:
JavaScript: var functionName = function() {} vs function functionName() {}
Javascript 中的函数表达式与声明之间有什么区别?

我试图了解 javascript 的“最佳实践”。

此代码来自jqfundementals.com

// create a function that will greet a person,
// and assign the function to the `greet` variable
var greet = function( person, message ) {
  var greeting = 'Hello, ' + person + '!';
  log( greeting + ' ' + message );
};

greet( 'Jory', 'Welcome to JavaScript' );
greet( 'Rebecca', 'Thanks for joining us' );
Run Code Online (Sandbox Code Playgroud)

为什么我应该将函数分配给 greet 变量?

我的第一个冲动是这样写:

function …
Run Code Online (Sandbox Code Playgroud)

javascript

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