Solved

Help with accessing a sql database in VB.NET 2005

Posted on 2006-07-15
4
195 Views
Last Modified: 2010-04-23
I use the following code in my program.

        sQsT = "SELECT * FROM (Payroll) WHERE (FirstName  = '" & fN & "') AND (LastName = '" & lN & "') AND (dEnd >= #" & DateTimePicker1.Value & "#) AND (dEnd <= #" & DateTimePicker2.Value & "#)"

        On Error Resume Next
        'Declare SQL Connection, Data Adapter and Dataset
        Dim conn As New System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Payroll.mdf;Integrated Security=True;User Instance=True")
        Dim da As New System.Data.SqlClient.SqlDataAdapter(sQsT, conn)
        Dim ds As New System.Data.DataSet
        Dim dr As DataRow

        da.Fill(ds)
        'Find out how many Rows are in the First table of the data Adapter
        Dim DCT As Integer = ds.Tables(0).Rows.Count

        For NM As Integer = 0 To DCT - 1
            dr = ds.Tables(0).Rows(NM)

            eiInsurance += dr.Item("HealthInsurance")
            eiTotald += dr.Item("TotalEmployerContributions")
            iGrossSalary += dr.Item("GrossSalary")
            iNetSalary += dr.Item("NetSalary")

        Next

although the data is in the database, it is not going into the loop to load the variables. I am not sure what I did wrong and any advice or assistance would be greatly appreciated.
0
Comment
Question by:OsirisJa
  • 2
4 Comments
 
LVL 6

Assisted Solution

by:Nandakumar Sakthivel
Nandakumar Sakthivel earned 150 total points
ID: 17113891
I think that the problem is in your select command.Everything looks fine except that
Can u check the select command(In query analyser) at runtime after the values has been replaced

Thanks,
Nanda
0
 
LVL 34

Assisted Solution

by:Sancler
Sancler earned 150 total points
ID: 17113934
Is # the right marker for dates in SQL Express?  It is in Access, but I think that's specific to Access.

I suggest you try it without that, or with ' instead (perhaps with DateTimePicker2.Value.ToString).

Roger
0
 
LVL 13

Expert Comment

by:iHadi
ID: 17114093
Hi OsirisJa
There could be more than one reasons for your problem
-  use ' instead of # as Sancler suggested
-  Check the date format you are using: Try to format the date the same format as SQL Server so the server doesn't consider the month as day and the day as month
-  Your select statment is selecting a date with the time zero eg: 2005-05-08 00:00:00.000 so if the time in the stored datetime in the database is not zero eg: 2005-05-08 14:58:00.000 then the select statment will ignore it
    To correct this use the select statement as follows:
    SELECT * FROM (Payroll)
    WHERE dEnd >= '2005-05-08 '
    AND dEnd <'2005-05-09 '
0
 
LVL 13

Accepted Solution

by:
iHadi earned 200 total points
ID: 17114098
Hi OsirisJa
There could be more than one reasons for your problem
-  use ' instead of # as Sancler suggested
-  Check the date format you are using: Try to format the date the same format as SQL Server so the server doesn't consider the month as day and the day as month
-  Your select statment is selecting a date with the time zero eg: 2005-05-08 00:00:00.000 so if the time in the stored datetime in the database is not zero eg: 2005-05-08 14:58:00.000 then the select statment will ignore it
    To correct this use the select statement as follows:
    SELECT * FROM (Payroll)
    WHERE dEnd >= '2005-05-08'
    AND dEnd <'2005-05-09'
0

Featured Post

Highfive Gives IT Their Time Back

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

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

758 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

22 Experts available now in Live!

Get 1:1 Help Now