可以使用C#建立
下面是一个示例
using System;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Runtime.CompilerServices; [assembly: AssemblyTitle("CSQL")]
[assembly: AssemblyDescription("Test SQL .NET interop")]
[assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("cs.snk")]
namespace SQL{
public interface ITest{
string SayHello2(IntPtr hd);
} [ClassInterface(ClassInterfaceType.AutoDual)]
public class CSQL: ITest {
public const int USER = 0x0400;
public const int WM_TEST = USER+101;
[DllImport("User32.dll",EntryPoint="SendMessage")]
private static extern int SendMessage(
IntPtr hWnd, // handle to destination
uint Msg, // message
uint wParam, // first message parameter
uint lParam // second message parameter
);
public string SayHello2(IntPtr hd,uint wp,uint lp) {
int res=CSQL.SendMessage(hd,WM_TEST,wp,lp);
return res.ToString();
} }
}
下面是一个示例
using System;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Runtime.CompilerServices; [assembly: AssemblyTitle("CSQL")]
[assembly: AssemblyDescription("Test SQL .NET interop")]
[assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("cs.snk")]
namespace SQL{
public interface ITest{
string SayHello2(IntPtr hd);
} [ClassInterface(ClassInterfaceType.AutoDual)]
public class CSQL: ITest {
public const int USER = 0x0400;
public const int WM_TEST = USER+101;
[DllImport("User32.dll",EntryPoint="SendMessage")]
private static extern int SendMessage(
IntPtr hWnd, // handle to destination
uint Msg, // message
uint wParam, // first message parameter
uint lParam // second message parameter
);
public string SayHello2(IntPtr hd,uint wp,uint lp) {
int res=CSQL.SendMessage(hd,WM_TEST,wp,lp);
return res.ToString();
} }
}
俺没有写过扩展存储过程,也想学学
你的代码只是使用了interface、api、strongname
那么是不是只要编译成dll,就可以做扩展存储过程的dll使用了,
要成为可以做扩展存储过程的dll需要那些条件。