تشخیص اضافه شدن رکورد به یک جدول
سلام
من می خواهم در دلفی تشخیص بدهم چه زمانی در دیتابیس رکوردی اضافه می شود.
یک برنامه ای که از قبل وجود دارد که پس از خواندن بارکد توسط بارکدخوان یک رکورد به یک جدول مشخص اضافه می شود. من می خواهم در برنامه خودم هر وقت دیتا اضافه شد آن را تشخیص بدهم و متناسب با آن کارم را انجام دهم.
یک روش که به نظرم اصلا مناسب نیست این است که با یک تایمر هر 1 ثانیه یک بار (یا بیشتر) آخرین بارکد را از جدول بخوانم، هر وقت بارکد جدیدی اضافه شد کارم را انجام بدهم
آیا راه بهتری برای این کار هست؟
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
سلام. بله راه بهتری هست، باید یک فایل دی ال ال بنویسید که با تریگر جدول مرتبط، فراخوانی بشه و این دی ال ال به برنامه شما پیامی رو ارسال کنه.
روش های دیگه هم هست ولی به نظر من این بهتره.
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
نقل قول:
نوشته شده توسط
یوسف زالی
سلام. بله راه بهتری هست، باید یک فایل دی ال ال بنویسید که با تریگر جدول مرتبط، فراخوانی بشه و این دی ال ال به برنامه شما پیامی رو ارسال کنه.
روش های دیگه هم هست ولی به نظر من این بهتره.
این DLL مستقیما با SQL در ارتباط میشه؟
این روشی که گفتید برای من کاملا نامانوس است!!!! اگر می شه بیشتر توضیح بدهید یا سرِ خط را بدهید دستم. اگر منبع خوبی سراغ دارید معرفی کنید
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
این دی ال ال در اس کیو ال رجیستر می شه و اس کیو ال می تونه اون رو کال کنه!
اسمش هم هست:
Extended Stored Procedure
همین رو در دلفی و اس کیو ال سرچ کنید تا مقدمات کار بیاد دستتون.
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
ممنون از پاسخ تون
من یک dll با دلفی ساختم که یک فانکشن ساده برای تست توی اون نوشته ام که دو تا عدد میگیرد و با هم جمع میکنم اما موقعی که در قسمت Asseblies اضافه میکنم این پیام را میدهد:
TITLE: Microsoft SQL Server Management Studio
------------------------------
Create failed for SqlAssembly 'DemoDll'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdN...y&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
CREATE ASSEMBLY for assembly 'DemoDll' failed because assembly 'DemoDll' is malformed or not a pure .NET assembly.
Unverifiable PE Header/native stub. (Microsoft SQL Server, Error: 6544)
For help, click: http://go.microsoft.com/fwlink?ProdN...4&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
ظاهرا فقط dll هایی که با .Net نوشته شده باشه را قبول می کنه
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
من فکر می کردم dll باید در قسمت Asseblies اضافه شود اما با بررسی های بیشتر فهمیدم که با دستور زیر باید در دیتابیس master در قسمت Extended Stored Procedure اضافه شود:
use [master]
go
sp_addextendedproc 'add','D:\Delphi\SmartFactory\DLL\Win32\Release\De moDll.dll'
با این دستور اضافه شد.
ظاهرا باید با این دستور آن را اجرا کرد اما نمی دانم پارامترهای ورودی و خروجی را چگونه مقدار دهی کنم:
exec master..[add] 21,3
اما این خطا را میدهد:
Msg 17750, Level 16, State 0, Procedure add, Line 1 [Batch Start Line 0]
Could not load the DLL D:\Delphi\SmartFactory\DLL\Win32\Release\DemoDll.d ll, or one of the DLLs it references. Reason: 193(%1 is not a valid Win32 application.).
البته 64 بیتی اش را هم تست کردم فرقی نکرد
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
شما که نمی تونی همین طوری هر دی ال الی رو رجیستر کنی تو اس کیو ال، قوانین خاص خودش رو داره، همون طور که می بینید داره می گه malformed هست.
قوانین مرتبط با XProcedure رو باید بخونید.
یا این که یک نمونه از نت بگیرید تا دستتون بیاد.
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
آیا XProcedure جزیی از خود دلفی است؟
می شه خودتون یک مثال بزنید یا یک لینک بهم بدهید دو سه روز است هر چه می گردم چیزی به دست نمی آورم
یک بنده خدایی می گفت با دلفی نمی شه باید فقط با دات نت این کار را کرد
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
اون بنده خدا صد در صد سی شارپ کار بوده که گفته نمی شه
می گردم پیدا می کنم، قبلا یکی نوشته بودم
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
نقل قول:
نوشته شده توسط
یوسف زالی
اون بنده خدا صد در صد سی شارپ کار بوده که گفته نمی شه
می گردم پیدا می کنم، قبلا یکی نوشته بودم
همین طوره که حدس زدید
ممنون می شم اگر بتونید چیزی برام پیدا کنید
1 ضمیمه
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
یک نمونه براتون آماده کردم، بخونید و از روی همین می تونید تمام کارهاتون رو جلو ببرید.
بیشتر از این دیگه اسمش راهنمایی نیست و پروژتون رو باید من بنویسم!
موفق باشید دوست گرامی
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
ممنونم از لطف تون
خیلی راهنمایی مفیدی بود.
:قلب::قلب::قلب:
تست می کنم ببینم می تونم کارم را راه بندازم یا نه
1 ضمیمه
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
Dll که شما فرستاده بودید را با همان دستوری که در فایل HowTo.txt نوشته بودید را در SQL Server نصب کردم. اما موقع اجرا کردن خطا می دهد که عکس آن را می فرستم
ضمیمه 150359
نقل قول: تشخیص اضافه شدن رکورد به یک جدول
استاد زالی عزیز
dll ی که فرستادید کار نکرد
الآن دارم می رم جلسه ای در مورد همین موضوع. امیدوارم بتونم برای یک روش جایگزین توافق کنم (با تیم برنامه نویسان کارفرما) اگر نشد باید یک جوری همین روش شما را به نتیجه برسانم