• 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

    • Supply and demand. Competition is a good thing.
    • For the cost of popping Linux on a minipc and attaching it to the back of a monitor, it essentially is a Mac, but 1/10th of the cost. My aunt and uncle were just in town seeing her and they couldn't believe they weren't using Windows. I've ordered them the same setup my mom has and they couldn't be happier. My aunt runs a really old Windows 7 laptop that was upgraded to Windows 10 that is giving out, so a replacement cost of $389 total vs $600 or more and she was sold.
    • BurnAware 18.7 by Razvan Serea Free burning software to create CDs, DVDs, and Blu-ray discs of all types. BurnAware is a full-fledged, easy-to-use burning software which allows users to write all types of files such as digital photos, archives, documents, music and videos to CDs, DVDs and Blu-ray Discs, including BDXL and M-Disc. With BurnAware, you also be able to create boot or multisession discs, high-quality Audio CDs and Video DVDs, make and burn ISO images, copy and backup discs, extract audio tracks, verify and recover data from multisession or unreadable discs. BurnAware is available in three editions - Free, Premium and Professional. Compare and pick edition which is suitable for you. Features Burn files and folders to CD, DVD or Blu-ray Discs. Append or update multisession discs. Burn standard or boot disc images. Burn ISO files to multiple recorders simultaneously. Create boot CDs or DVDs. Create Audio CDs. Create DVD-Video discs. Create MP3 CD / DVD / Blu-ray Discs. Make standard or boot disc images. Copy CD, DVD or Blu-ray Discs to ISO images. Copy from discs to discs. Verify discs byte by byte. Recover files from damaged discs or different sessions. Extract audio tracks from Audio CDs. Erase and format re-writable discs. View detailed disc and drive information. Supports All media types (CD/DVD/Blu-ray Disc) including Double Layer All current hardware interfaces (IDE/SCSI/USB/1394/SATA) including AHCI UDF/ISO9660/Joliet file systems (any combination) On-the-fly writing (no staging to hard drive first) Verification of written files Multisession DVD-RW/DVD+RW Unicode CD-Text (tracks and disc) Compatible with Windows Vista 7, 8, 10, 11 (32-bit or 64-bit) BurnAware 18.7 changelog: Updated translations. Updated disc burning SDK. Improved indirect disc copying (CD <-> DVD). Optimized overall performance on 64-bit systems. Download: BurnAware Free 18.7 | 11.8 MB (Freeware) View: BurnAware Free Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Yeah, as a general rule I prefer standard XBox-like controllers that work like usual out-of-the-box. additional software tends to be overkill. p.s. even my 8BitDo Ultimate 2C wired, while I had to tweak something (setup a udev rule) on Linux for it to work 'out-of-the-box' (which is required for Xinput mode to work in kernels prior to 6.12), I can slightly tweak a small amount of additional buttons/features on the controller itself, no software needed.
  • Recent Achievements

    • Apprentice
      Adrian Williams went up a rank
      Apprentice
    • Reacting Well
      BashOrgRu earned a badge
      Reacting Well
    • Collaborator
      CHUNWEI earned a badge
      Collaborator
    • Apprentice
      Cole Multipass went up a rank
      Apprentice
    • Posting Machine
      David Uzondu earned a badge
      Posting Machine
  • Popular Contributors

    1. 1
      +primortal
      535
    2. 2
      ATLien_0
      265
    3. 3
      +Edouard
      193
    4. 4
      +FloatingFatMan
      182
    5. 5
      snowy owl
      135
  • Tell a friend

    Love Neowin? Tell a friend!