我正在开发一个数据库项目,我需要创建Outlook 2007插件,将当前预览的消息保存到我的数据库中.
有人可以给我一个关于如何在Delphi中创建Outlook插件的分步指南,以及如何部署它?
谢谢
较新的Delphi版本(包括我正在使用的Delphi 2007)具有内置文件历史记录功能,可让您从IDE中恢复旧文件.这很好,但我已经拥有了源代码控制权.是否可以禁用此功能?
我问,因为IDE自动创建一个\ history文件夹,其中包含旧版本的所有文件,这让我很烦.
我正在运行这个声明:
select trim(a),trim(b) from table x;
Run Code Online (Sandbox Code Playgroud)
即使我使用trim()语句,我的输出如下所示:
A B
___ ____
kunjramansingh smartdude
Run Code Online (Sandbox Code Playgroud)
列'a'和'b'的数据类型是varchar2(255).
两个输出的数据之间存在差距.我想显示没有空格的数据 - 格式如下:
A B
___ ______
kunjramansinghsmartdude
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我之前从未使用过LINQ,并且在使用它的应用程序中出现错误.这是Visual Studio 2008中的VB.NET(.NET 2.0)项目.
这是违规代码:
Dim orderedRows = From r In resultRows Order By r.FIELDNAME Select r
Run Code Online (Sandbox Code Playgroud)
这里是错误(名称改为通用,但准确):
Expression of type '1-dimensional array of
Company.OurLibrary.FunctionalArea.Library.StoredProcStuff.USP_MYPROC.ResultRow'
is not queryable. Make sure you are not missing an assembly
reference and/or namespace import for the LINQ provider.
C:\project\filename.vb
Run Code Online (Sandbox Code Playgroud)
所以我认识到我需要导入LINQ库. 这个链接让我在文件中添加了"Imports System.Linq",但这是一个未解决的引用.基于相同的链接,我想我需要在我的项目中添加对"System.Core"的引用,但是当我尝试添加引用时它没有被列为可用选项(也不是已经选中).
我确信我错过了一些基本的东西.有人能指出我正确的方向吗?
TL; DR:LINQ需要什么工作?
我有一个应用程序,使用sp_helptext检索存储过程的文本.它适用于除 CLR存储过程之外的所有存储过程.如果我尝试sp_helptext
在SQLCLR存储过程上使用,我会收到此错误:
对象'PROC_NAME'没有文字
我知道SSMS可以在我使用"script as" - >"create to" - >命令时执行此操作.
但是当我使用SQL Server Profiler跟踪SSMS"生成脚本"操作时,它给了我一个相当复杂的活动的令人生畏的长列表.如果必须的话,我可以通过它,但有没有人知道以编程方式获取CLR存储过程的代码的简单方法?
编辑以澄清
我不希望看到程序集中的实际代码; 我只想要一种简单的方法来查看T-SQL代码,如下例所示:
CREATE PROCEDURE [dbo].[MY_PROC]
@PARAM1 [xml],
@PARAM2 [uniqueidentifier],
@PARAM3 [nvarchar](255),
@PARAM4[bit] = False
WITH EXECUTE AS OWNER
AS
EXTERNAL NAME [SomeSolution.SomeProject].[SomeAssembly].[SomeMethod]
GO
Run Code Online (Sandbox Code Playgroud)
换句话说,SQLCLR函数的"SQL Server端".
我想编写一个批处理文件,检查进程是否正在运行,如果是,则执行一个操作,如果不执行,则执行另一个操作.
我知道我可以使用任务列表列出所有正在运行的进程,但有没有更简单的方法来直接检查特定进程?
看起来这应该有效,但它不会:
tasklist /fi "imagename eq firefox.exe" /hn | MyTask
IF %MyTask%=="" GOTO DO_NOTHING
'do something here
:DO_NOTHING
Run Code Online (Sandbox Code Playgroud)
使用atzz提供的解决方案,这是一个完整的工作演示:
编辑:简化,并修改为在WinXP和Vista下工作
echo off
set process_1="firefox.exe"
set process_2="iexplore.exe"
set ignore_result=INFO:
for /f "usebackq" %%A in (`tasklist /nh /fi "imagename eq %process_1%"`) do if not %%A==%ignore_result% Exit
for /f "usebackq" %%B in (`tasklist /nh /fi "imagename eq %process_2%"`) do if not %%B==%ignore_result% Exit
start "C:\Program Files\Internet Explorer\iexplore.exe" www.google.com
Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi 2007包含所有补丁和更新.
我有一个文件,由两个不同的项目使用.在该文件中是一个过程,我将简化如下:
procedure MyProcedure;
const
UniqueValue: integer = 0;
begin
//some code
Inc(UniqueValue);
//some more code
end;
Run Code Online (Sandbox Code Playgroud)
Inc()命令应该失败,因为您无法分配常量.在一个项目中,我得到了一个错误(我将该项目称为"准确").在另一个项目中,我没有任何错误(我称之为"Bogus").我也没有收到任何警告.我无法弄清楚为什么编译器会通过这个错误的代码.
这是我在项目Bogus中尝试的内容:
1 - 引入一个明显的错误,比如在一行中键入"slkdjflskdjf"
结果:我收到一个错误,证明它确实正在尝试编译此文件.
2 - 删除.DCU,然后重建项目
结果:重新生成.DCU,再次证明项目真正编译了这个错误的代码.
有没有人想过为什么会发生这种行为?更具体地说,为什么它会出现在一个项目而不是另一个项目?是否有一些模糊的编译器选项允许分配常量?
最后一点说明:这两个项目都是从Delphi 5转换而来的.在Delphi 5下,代码类似,它们都编译得很好.
编辑:谢谢你的帮助.更改可分配的类型化常量指令后,我可以在两个项目中获得一致的行为.我今天学了些新东西...
我讨厌数据库中的区分大小写,但我正在为使用它的客户开发.如何在我的SQL Server上启用此选项,因此我可以确定我在所有查询中都已正确使用该案例?
在我的水晶报告中,我注意到从表中拉出的一个字段有特殊字符.更具体地说,回车和制表符.有没有办法解决这个问题,所以它在我的报告中没有显示空白?
提前致谢.
我想在查询中分配一些变量,这些变量使用CASE
它的列的语句.不太确定如何做到这一点,无法找到正确的语法.
这是我到目前为止,但它有语法错误.
-- set @theID and @theName with their appropriate values
select top (1)
@theID = (Case when B.ID IS NULL then A.ID else B.ID END) ,
@theName = (Case when B.Name IS NULL then A.Name else B.Name END)
from B left join A on A.ID = B.ID where ...
Run Code Online (Sandbox Code Playgroud)
将这些变量粘贴在那里的正确位置/方法是什么?
delphi ×3
sql-server ×3
delphi-2007 ×2
.net ×1
batch-file ×1
com ×1
linq ×1
oracle ×1
outlook ×1
plugins ×1
process ×1
sql ×1
sqlclr ×1
t-sql ×1
vb.net ×1
whitespace ×1
windows ×1