• 0

[C#] ADODB Connection State


Question

Hey guys..

I'm a C# newbie, I was able to get my program to connect to an Access DB using ADO, but now I wanna wask about the Connection.State property, and I don't know how....I mean is it Connection.State=1 or Connection.State=adStateOpen ?? so I was wondering if anyone can give me some pointers....also if you have some info on Error Handling I would appreciate it :laugh:

Thanks ;)

Link to comment
https://www.neowin.net/forum/topic/249301-c-adodb-connection-state/
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Hiya ArBoK,

There are no "magic numbers" in .NET (appart from one function that uses a magic number). Absolutely everything is object oriented and usually eccepts and returns objects.

The first step in handling exceptions is to use the Try/Catch block:

try
{
 ? ?// some code here to attempt to execute
}
catch (Exception Ex)
{
 ? System.Windows.Forms.MessageBox(Ex.Message);
}

Hope this hel:D :D

- Tranq

  • 0

I don't really program in C# but here is some vb.net code which does the trick

it should not be that hard to convert it to C#, just a few semicolons here and there!

' You need the following data library
Imports System.Data.OleDb

' Declare variables
        Dim strConnectionParameters As String

        ' Connection string
        strConnectionParameters = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDatabasePath & ";Jet OLEDB:System database=" & strDatabaseWorkgroup

        ' Create a new connection to the database & open it
        Try
            myConnection = New OleDbConnection(strConnectionParameters)
            myConnection.Open()
        Catch ex As Exception
            MessageBox.Show("Aection to the database could not be established. The returned error was: " & ex.Message, "Database Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End Try


' AND TO GET STATE

        ' 0 (closed), 1 (open), 2 (connecting), 4 (executing), 8 (fetching), 16 (broken)
        Dim result As Short = myConnection.State
        MsgBox(result)

  • 0

Don't assume that a given connection state will always equate to a given number (e.g. 0 = closed), as the numbers could be changed in the future by MS. Plus, using numbers can be difficult to read if the person reading doesn't know that 0 is closed, 1 is open and so on.

There is an enumeration named "ConnectionState" in the System.Data namespace. Use that instead:

ConnectionState.Closed

ConnectionState.Open

And so on. Intellisense would tell you this information as well.

  • 0
  DrZoidberg said:
Don't assume that a given connection state will always equate to a given number (e.g. 0 = closed), as the numbers could be changed in the future by MS.  Plus, using numbers can be difficult to read if the person reading doesn't know that 0 is closed, 1 is open and so on.

There is an enumeration named "ConnectionState" in the System.Data namespace.  Use that instead:

ConnectionState.Closed

ConnectionState.Open

And so on. Intellisense would tell you this information as well.

584992896[/snapback]

That's an enum, which has an integer backing it ;). You should always use Enum's, because they're a lot easier to read, and you dont have to remember integer values.

  • 0
  Sn1p3t said:
That's an enum, which has an integer backing it ;). You should always use Enums, because they're a lot easier to read, and you dont have to remember integer values.

584993667[/snapback]

Err, yes. I already said that in my post:

  DrZoidberg said:
Plus, using numbers can be difficult to read if the person reading doesn't know that 0 is closed, 1 is open and so on.
  • 0
  DrZoidberg said:
Err, yes.  I already said that in my post:
  DrZoidberg said:
Plus, using numbers can be difficult to read if the person reading doesn't know that 0 is closed, 1 is open and so on.

584996531[/snapback]

Oh, I know. I was simply explaining that to anyone who didn't know what it was :p

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • YouTube app is no longer compatible with several iPhones by Taras Buria Google is rolling out a new update for the YouTube app on iOS, and it is bad news for those still using an old iPhone. Starting with version 20.22.1, the latest release in the App Store, YouTube for iPhone now requires iOS 16 and newer. Previously, the app required a device with iOS 15 and newer. The new hardware requirement makes several iPhones incompatible with the latest version of the YouTube app. Those include the iPhone 6S / 6S Plus, iPhone 7 / 7 Plus, and the original iPhone SE. The seventh-generation iPod touch is also no longer compatible. On the iPad side, the update kicks out the second-generation iPad Air and the fourth-generation iPad mini. Although old iPhones can no longer install YouTube version 20.22.1 and newer, old versions continue working just fine. However, going forward, users will not receive new features and improvements. Also, at some point in the future, the app will stop working altogether. Another workaround is to use the web version of the app, but that also provides a limited experience compared to the up-to-date client. Google is not the only service that kicks out old and now unsupported Apple devices. Recently, WhatsApp developers dropped iPhones that cannot run iOS 15.1 or newer. The news is clearly a bummer for those who are still using their old iPhones, which, to Apple's credit, have a solid lifespan (as long as you are happy with the battery life). However, it is also worth keeping in mind that the iPhone 6S series was released almost a decade ago. Having ten years of support is impressive, but it is clearly time to move on. Perhaps my friend with his day-one iPhone 7 Black can finally consider buying something less ancient.
    • Guys have already appeared saying that Windows 11 ruined their lives, stole their bank password, killed their dog, kidnapped their mother and that's why they will never install Windows 11 again.
    • I think they start to use AI in Robots but in very early stage. I think in less than 20 years we will see these movies in real life
    • Uhh... how do you think current robots work? And do I really have to tell you the obvious...? That movies aren't real.
  • Recent Achievements

    • Week One Done
      primussolicitors798 earned a badge
      Week One Done
    • First Post
      nothin earned a badge
      First Post
    • Enthusiast
      Epaminombas went up a rank
      Enthusiast
    • Posting Machine
      Fiza Ali earned a badge
      Posting Machine
    • One Year In
      WaynesWorld earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      188
    2. 2
      snowy owl
      134
    3. 3
      ATLien_0
      130
    4. 4
      Xenon
      119
    5. 5
      +FloatingFatMan
      97
  • Tell a friend

    Love Neowin? Tell a friend!