SQLÓï¾äµ¼Èëµ¼³ö´óÈ«
ÕâÊÇ¡¶VC++¶¯Ì¬Á´½Ó¿â(DLL)±à³ÌÉîÈëdz³ö¡·µÄµÚËIJ¿·Ö£¬ÔĶÁ±¾ÎÄǰ£¬ÇëÏÈÔĶÁǰÈý²¿·Ö£º£¨Ò»£©
¡¢£¨¶þ£©
¡¢£¨Èý£©
¡£
¡¡¡¡MFCÀ©Õ¹DLLµÄÄںΪMFCµÄÀ©Õ¹£¬Óû§Ê¹ÓÃMFCÀ©Õ¹DLL¾ÍÏñʹÓÃMFC±¾ÉíµÄDLLÒ»Ñù¡£³ýÁË¿ÉÒÔÔÚMFCÀ©Õ¹DLLµÄÄÚ²¿Ê¹ÓÃMFCÒÔÍ⣬MFCÀ©Õ¹DLLÓëÓ¦ÓóÌÐòµÄ½Ó¿Ú²¿·ÖÒ²¿ÉÒÔÊÇMFC¡£ÎÒÃÇÒ»°ãʹÓÃMFCÀ©Õ¹DLLÀ´°üº¬Ò»Ð©MFCµÄÔöÇ¿¹¦ÄÜ£¬Æ©ÈçÀ©Õ¹MFCµÄCStatic¡¢CButtonµÈÀàʹ֮¾ß±¸¸üÇ¿´óµÄÄÜÁ¦¡£
¡¡¡¡Ê¹ÓÃVisual C++Ïòµ¼Éú²úMFCÀ©Õ¹DLLʱ£¬MFCÏòµ¼»á×Ô¶¯Ôö¼ÓDLLµÄÈë¿Úº¯ÊýDllMain£º
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
// Remove this if you use lpReserved
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("MFCEXPENDDLL.DLL Initializing!\n");
// Extension DLL one-time initialization
if (!AfxInitExtensionModule(MfcexpenddllDLL, hInstance))
return 0;
// Insert this DLL into the resource chain
// NOTE: If this Extension DLL is being implicitly linked to by
// an MFC Regular DLL (such as an ActiveX Control)
// instead of an MFC application, then you will want to
// remove this line from DllMain and put it in a separate
// function exported from this Extension DLL. The Regular DLL
// that uses this Extension DLL should then explicitly call that
// function to initialize this Extension DLL. Otherwise,
// the CDynLinkLibrary object will not be attached to the
// Regular DLL's resource chain, and serious problems will
// result.
new CDynLinkLibrary(MfcexpenddllDLL);
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("MFCEXPENDDLL.DLL Terminating!\n");
// Terminate the library before destructors are called
AfxTermExtensionModule(Mf
Ïà¹ØÎĵµ£º
1.Á¬½ÓÊý¾Ý¿âÎļþ
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;User Instance=true" />
SqlConnectionStringBuilderʵÀý»¯Ê±£¬ÒªÓõ½connectionString£¬È磺SqlConnectionStringBuild builder = new SqlCon ......
ÀûÓÃSQL2000µÄ¶¨Ê±±¸·Ý¹¦ÄÜ£¬ÄܺܺöԷþÎñÆ÷ÉϵÄÖØÒªÊý¾ÝÐÅÏ¢½øÐÐÍêÕûµÄ¶¨Ê±±¸·Ý£¬ÒÔ±ãÔÚ·þÎñÆ÷̱»¾»òÊý¾Ý¿â³öÏÖËð»µÊ±¼°Ê±µÄ½øÐлָ´¹¤×÷£¬ÒÔÈ·±£Æ½Ê±µÄ¹¤×÷ÄÜÕý³£µÄ½øÐС£ÏÂÃæÏò´ó¼Ò½éÉÜÒ»ÏÂSQL2000¶¨ÆÚ±¸·ÝµÄÉèÖ÷½·¨£¬¾ßÌåÈçÏ£º
1. ´ò¿ªSQL2000µÄÆóÒµ¹ÜÀíÆ÷
2.&nbs ......
using (LongXingDBDataContext db = new LongXingDBDataContext())
{
DeviceInfo di;
  ......
ÎÞÂÛÊÇʹÓÃÊÖ¹¤ÊÔ̽»¹ÊÇʹÓð²È«²âÊÔ¹¤¾ß£¬¶ñÒâ¹¥»÷Õß×ÜÊÇʹÓø÷ÖÖ¹î¼Æ´ÓÄãµÄ·À»ðǽÄÚ²¿ºÍÍⲿ¹¥ÆÆÄãµÄSQL·þÎñÆ÷ϵͳ¡£¼ÈÈ»ºÚ¿ÍÔÚ×öÕâÑùµÄÊÂÇé¡£ÄãÒ²ÐèҪʵʩͬÑùµÄ¹¥»÷À´¼ìÑéÄãµÄϵͳµÄ°²È«ÊµÁ¦¡£ÕâÊÇÀíËùµ±È»µÄ¡£ÏÂÃæÊǺڿͷÃÎʺ͹¥ÆÆÔËÐÐSQL·þÎñÆ÷µÄϵͳµÄÊ®ÖÖ¹î¼Æ¡£
1.ͨ¹ý»¥ÁªÍøÖ±½ÓÁ¬½Ó
ÕâЩÁ¬½Ó¿ÉÒÔÓÃÀ´¹¥»÷ûÓзÀ ......
Ò»¡¢ SQLCLRȨÏÞ¼¯¼¶±ð
¡¡¡¡µ±ÄãʹÓÃCREATE ASSEMBLYÓï¾ä°ÑÒ»¸ö³ÌÐò¼¯¼ÓÔØµ½Ò»¸öÊý¾Ý¿âÖÐʱ£¬SQL ServerÌṩÁËÈýÖÖȨÏÞ¼¯¼¶±ð£ºSAFE£¬EXTERNAL_ACCESSºÍUNSAFE¡£ÕâЩȨÏÞ¼¯ÐγÉÈçͼ3ºÍͼ5£¨¾ùÇë²Î¿¼µÚ¶þƪ£©ËùʾµÄ AppDomain²ßÂÔ¼¶±ð¡£
¡¡¡¡ÏÂÃæÊÇÒ»¸öµäÐ͵ÄÓï¾ä£¬ËüʵÏÖ°²×°Î»ÓÚFileLoader.dllÎļþÄÚµ ......