Solved

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

Posted on 2009-05-12
12
290 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
 
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

A high-level exploration of how our ever-increasing access to information has changed the way we do our jobs.
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
The viewer will learn common shortcuts with easy ways to remember them. The viewer will then learn where to find all of the keyboard shortcuts, how to create/change them, and how to speed up their workflow.
The viewer will learn how to create multiple layers to apply various filters and how to delete areas from each layer’s filter.

707 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now