Solved

How to track a date in SQL Server 2005 & VB.net using a trigger.

Posted on 2009-05-12
12
294 Views
Last Modified: 2013-12-17
Hi All,

I am using VB.net as frontend and SQL Server 2005 as backend for my application. Now I am having a problem that in one of the tables a date "1899-12-30 00:00:00.000" is getting inserted/updated and I am not able to track from where it is getting entered, so to check this I want to write a trigger on that table which will return some value to VB.net application and by checking this value I should be able to pop a message to the user that "Wrong date with year 1899 is getting updated".

Please give me a solution as to how I can do this.

Regards,
Pranjal

0
Comment
Question by:pranjal_ds
  • 6
  • 5
12 Comments
 
LVL 6

Expert Comment

by:bull_rider
ID: 24365872
Could you provide the column and table details along with some records for me to write out the trigger?
0
 
LVL 9

Expert Comment

by:Hwkranger
ID: 24366047
You could just apply this in your DATA ACCESS LAYER.  Do the comparison there, vrs after it's being inserted.
0
 

Author Comment

by:pranjal_ds
ID: 24366615
Hi bull_rider,

Attached alongwith is the table structure alongwith some data. I want to write the trigger on column IST_DT in table REV_INFO and database name is D2LDBSQL2.

Regards,
Pranjal
1899-Data.xls
Table-Rev-info.txt
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 
LVL 6

Expert Comment

by:bull_rider
ID: 24367202
You can actually use a check constraint for that column if you want. That would not allow you to insert any value which is not associated with the check constraint. Do you want me to guide on that?
0
 

Author Comment

by:pranjal_ds
ID: 24373851
Hi bull_rider,

Please guide me on implementing a check constraint.

Regards,
Pranjal
0
 
LVL 6

Expert Comment

by:bull_rider
ID: 24376187
This is just an example. you can provide your own restrictions and alter the table. Let me know if you want more help.
CREATE TABLE Products_2
(
    ProductID int PRIMARY KEY,
    UnitPrice money CHECK(UnitPrice > 0 AND UnitPrice < 100)
)

Open in new window

0
 

Author Comment

by:pranjal_ds
ID: 24377488
But this is while creating the table, while currently my table is already created and is having thousands of row data in it, so can I use ALTER table here instead of Create table?

Regards,
Pranjal
0
 
LVL 6

Expert Comment

by:bull_rider
ID: 24377635
yes why not... but first make sure all the rows are satisfying the condition of the check constraint.

And for adding a constraint issue this command, adding your own conditions:

ALTER TABLE CheckTbl
ADD CONSTRAINT chkRowCount CHECK (dbo.CheckFnctn() >= 1 );

The above is just an example. First validate ur rows and then create the constraint
0
 

Author Comment

by:pranjal_ds
ID: 24395990
Ok ........I was able to define the check constriant on my table and it was successful. But now tell me how will I know in my VB.net application when the constraint is violated?
Will that return any status or error code to my VB.net code by which I will be able to handle it ?

Please advice.
Regards,
Pranjal
0
 
LVL 6

Accepted Solution

by:
bull_rider earned 500 total points
ID: 24397504
you will get an error like this

Server: Msg 547, Level 16, State 1, Procedure insTest, Line 6
INSERT statement conflicted with COLUMN CHECK constraint 'CK_Test'. The conflict occurred in database 'IAPA', table 'Test', column 'Val'.

You can catch the error number through VB and then proceed.

Let me know if it answered your question.
0
 

Author Closing Comment

by:pranjal_ds
ID: 31580584
I was able to catch the error in VB.net successfully. This solved my problem.
Thanks a lot......!
0
 
LVL 6

Expert Comment

by:bull_rider
ID: 24402367
All the Best :)
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today, still in the boom of Apple, PC's and products, nearly 50% of the computer users use Windows as graphical operating systems. If you are among those users who love windows, but are grappling to keep the system's hard drive optimized, then you s…
Healthcare organizations in the United States must adhere to the guidance of both the HIPAA (Health Insurance Portability and Accountability Act) and HITECH (Health Information Technology for Economic and Clinical Health Act) for securing and protec…
Video by: Tony
This video teaches viewers how to export a project from Adobe Premiere Pro and the various file types involved.
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question