C# Access DB 사용

Access 2000-2003 데이타베이스 연결
Access 2000, Access 2002, Access 2003 에서 사용된 .mdb 파일을 사용할 경우 Microsoft Jet OLE DB 4.0 provider를 사용한다. 만약 Admin의 암호를 특별히 설정하지 않았다면, Connection String에서 [User Id=admin;Password=;] 부분을 생략할 수 있다.

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:   est.mdb;User Id=admin;Password=;"
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();

Access 2007 이상에서 데이타베이스 연결
Access 2007 버전 이상 (예: Access 2007, 2010, 2013, 2016 등) 에서 사용되는 .accdb 파일을 사용할 경우 Microsoft ACE OLEDB 12.0 provider를 사용한다. (주: Access 버전이 올라감에 따라 더 향상된 Microsoft ACE OLEDB Provider가 지원되는데, Access 2007 버전 이상에서 공통적으로 Microsoft ACE OLEDB 12.0 provider을 지원한다)

string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:   est.accdb;"
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();

ADO.NET의 사용 : 테이블 생성과 데이타 추가 예제
엑세스 DB를 OleDbConnection을 사용해 연결을 한 후에는, 다른 데이타 소스들과 같이 OleDb* 클래스들을 이용해 데이타를 가져오거나 삽입, 삭제, 갱신등을 하게 된다. 아래 예제는 테이블을 만들고 데이타를 한 개 추가하는 예이다.

예제

string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb";
using (OleDbConnection conn = new OleDbConnection(connStr))
{
    conn.Open();
    string sql = "CREATE TABLE MyTable (ID int, Name nvarchar(100))";
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    cmd.ExecuteNonQuery();
    sql = "INSERT INTO MyTable VALUES(1,'Lee')";
    cmd.CommandText = sql;
    cmd.ExecuteNonQuery();
}

ADO.NET의 사용 : 데이타 읽기 및 바인딩
엑세스의 데이타를 가져오기 위해서는 OleDbCommand/OleDbDataReader 혹은 OleDbDataAdapter를 사용한다. OleDbDataReader는 데이타를 한 Row씩 가져오는 반면, OleDbDataAdapter는 한꺼번에 클라이언트 메모리로 데이타를 가져온다. OleDbDataAdapter에서 가져온 데이타는 주로 DataSet 객체 안에 메모리상의 테이블 형태로 존재하는데, 이를 각종 컨트롤들에게 바인딩시킬 수 있다. 예를 들어, 윈폼의 DataGridView 컨트롤, ASP.NET의 GridView 컨트롤, WPF의 DataGrid 컨트롤 등의 그리드 컨트롤에 바인딩시키면, 메모리상의 데이타를 테이블 형태로 표시할 수 있다.

예제

// Fill 전달 전에 DataSet객체 생성
DataSet ds = new DataSet();
// DataAdapter는 자동으로 Connection을
// 핸들링한다. conn.Open() 불필요.
string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb";
OleDbConnection conn = new OleDbConnection(connStr);
string sql = "SELECT * FROM MyTable";
OleDbDataAdapter adp = new OleDbDataAdapter(sql, conn);
adp.Fill(ds);
// 가져온 데이타를 DataGridView 컨트롤에 
// 바인딩한 예.
dataGridView1.DataSource = ds.Tables[0];
DB생성

public static bool CreateDatabase(string fullFilename)
{
bool succeeded = false;

    try
{
string newDB = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + fullFilename;
Type objClassType = Type.GetTypeFromProgID(“ADOX.Catalog”);

        if (objClassType != null)
{
object obj = Activator.CreateInstance(objClassType);

            // Create MDB file
obj.GetType().InvokeMember(“Create”, System.Reflection.BindingFlags.InvokeMethod, null, obj,
new object[] { “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + newDB + “;” });
            succeeded = true;
            // Clean up
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
}

    catch (Exception ex)
{
MessageBox.Show(“Could not create database file: ” + fullFilename + “\n\n” + ex.Message, “Database Creation Error”);
}

    return succeeded;
}

 

“C# Access DB 사용”의 37개의 댓글

  1. I blog quite often and I truly appreciate your information.
    Your article has truly peaked my interest. I am going to bookmark
    your website and keep checking for new details about once per week.

    I opted in for your Feed too.

  2. Hi! I realize this is somewhat off-topic however I
    had to ask. Does running a well-established blog like yours require
    a massive amount work? I am brand new to operating
    a blog but I do write in my journal everyday. I’d like
    to start a blog so I will be able to share my own experience and thoughts online.
    Please let me know if you have any suggestions or tips for new aspiring bloggers.
    Appreciate it!

  3. I simply want to mention I am just new to blogging and seriously liked this web page. Probably I’m going to bookmark your site . You actually have good posts. Regards for sharing your webpage.

  4. Aw, this was a truly nice post. In idea I would love to place in creating like this furthermore? requiring time and also real effort to make a great write-up? yet what can I say? I hesitate alot and also by no means appear to get something done.

  5. สล็อตออนไลน์ได้เงินจริง Pussy888 เล่นเกมสล็อตออนไลน์ ทำเงินจากการเล่นเกมส์การพนัน
    สำหรับคนไหนที่ชื่นชอบเกี่ยวกับการเล่นเกมส์การพนันคาสิโน สำหรับคนไหนที่ชื่นชอบเกี่ยวกับการเล่นเกมส์การพนันกับเว็บผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมส์การพนันกับเว็บของพวกเรา สล็อตออนไลน์ได้เงินจริง Pussy888 เล่นเกมส์การพนันกับเว็บของพวกเรา เกมการพนันออนไลน์ที่มีคุณภาพ ศูนย์เก็บรวบรวมเกมส์การพนันออนไลน์มากไม่น้อยเลยทีเดียว เก็บเกมส์การพนันมาเปิดให้บริการกับเพื่อนฝูงๆทุกคนที่รักในการเล่นเกมส์การพนัน ได้เข้ามาร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ร่วมบันเทิงใจและก็ทำเงินจากการเล่นเกมส์การพนันกับเว็บคาสิโนออนไลน์ของพวกเราได้อย่างไม่ยากเย็นเล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันออนไลน์ชั้น 1 เล่นเกมส์การพนันคาสิโนออนไลน์กับเว็บของพวกเรา
    ทำเงินจากการเล่นเกมส์การพนันคาสิโนออนไลน์ เล่นเกมสล็อตออนไลน์ได้เงินจริง Pussy888
    สำหรับคนไหนที่มีความต้องการต้องการจะทำเงินจากการเล่นเกมส์การพนัน สำหรับคนไหนที่กำลังมองหาเว็บไซต์สล็อตออนไลน์ได้เงินจริง Pussy888จริง ร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ทำเงินจากการเล่นเกมส์การพนันออนไลน์ เล่นเกมส์การพนันกับเว็บของพวกเราได้อย่างง่ายๆพวกเราเก็บเกมส์การพนันจำนวนมาก สะสมความเพลิดเพลินจากการเล่นเกมส์การพนันมาเปิดให้บริการกับลูกค้าทุกคนที่เข้ามาร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ร่วมสนุกสนานกับเกมการพนันออนไลน์จำนวนมาก เล่นเกมส์การพนันคาสิโนออนไลน์ผ่านโทรศัพท์เคลื่อนที่
    สำหรับคนใดกันแน่ที่ชอบด้านการเล่นเกมส์การพนันคาสิโนออนไลน์ ร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ในเว็บของพวกเรามีเกมส์การพนันจำนวนมากกว่า 200 เกมส์ เว็บคาสิโนออนไลน์ของพวกเรามีเกมการพนันออนไลน์ทุกแบบอย่างเปิดให้บริการกับทุกคนที่เข้ามาร่วมเล่นเกมส์การพนัน โดยเหตุนี้ร่วมเล่นเกมส์การพนันกับเว็บของพวกเราได้เลยขณะนี้ เล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมออนไลน์ได้เงินจริง
    สมัครร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา
    สำหรับคนไหนที่ต้องการจะร่วมเล่นเกมส์การพนันคาสิโน สำหรับคนใดกันแน่ที่มีความต้องการต้องการจะเล่นเกมส์การพนัน มีความต้องการต้องการจะทำเงินจากการเล่นเกม เล่นเกมออนไลน์ได้เงินจริง สล็อตออนไลน์ได้เงินจริง Pussy888 กับเว็บของพวกเรา เว็บของพวกเราชำระเงินให้กับเพื่อนฝูงๆผ่านระบบอัตโนมัติ เว็บของพวกเราชำระเงินให้กับเพื่อนพ้องๆทุกคนที่เข้ามาร่วมเล่นเกมส์การพนัน ไม่ว่าจะเป็นเงินปริมาณน้อยหรือมากแค่ไหน พวกเราชำระเงินรวดเร็วทันใจไม่มีความจำเป็นที่จะต้องรอนาน
    ด้วยเหตุนั้นสมัครร่วมเล่นเกมส์การพนันกับเว็บของพวกเราได้เลยในตอนนี้ เล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมส์การพนันกับเว็บคาสิโนออนไลน์ชั้น 1 ผู้ให้บริการเกมการพนันออนไลน์ที่ยอดเยี่ยมตอนนี้

  6. สล็อตออนไลน์ได้เงินจริง Pussy888 เล่นเกมสล็อตออนไลน์ ทำเงินจากการเล่นเกมส์การพนัน
    สำหรับผู้ใดกันที่ชอบในการเล่นเกมส์การพนันคาสิโน สำหรับใครกันแน่ที่ชื่นชอบในด้านการเล่นเกมส์การพนันกับเว็บผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมส์การพนันกับเว็บของพวกเรา สล็อตออนไลน์ได้เงินจริง Pussy888 เล่นเกมส์การพนันกับเว็บของพวกเรา เกมการพนันออนไลน์ที่มีคุณภาพ ศูนย์เก็บเกมส์การพนันออนไลน์จำนวนมาก เก็บเกมส์การพนันมาเปิดให้บริการกับเพื่อนฝูงๆทุกคนที่ชอบด้านการเล่นเกมส์การพนัน ได้เข้ามาร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ร่วมสนุกสนานและก็ทำเงินจากการเล่นเกมส์การพนันกับเว็บคาสิโนออนไลน์ของพวกเราได้อย่างง่ายๆเล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันออนไลน์ชั้น 1 เล่นเกมส์การพนันคาสิโนออนไลน์กับเว็บของพวกเรา
    ทำเงินจากการเล่นเกมส์การพนันคาสิโนออนไลน์ เล่นเกมสล็อตออนไลน์ได้เงินจริง Pussy888
    สำหรับคนไหนกันที่มีความต้องการต้องการจะทำเงินจากการเล่นเกมส์การพนัน สำหรับคนไหนกันแน่ที่กำลังมองหาเว็บไซต์สล็อตออนไลน์ได้เงินจริง Pussy888จริง ร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ทำเงินจากการเล่นเกมส์การพนันออนไลน์ เล่นเกมส์การพนันกับเว็บของพวกเราได้อย่างง่ายๆพวกเราสะสมเกมส์การพนันเยอะมาก สะสมความสนุกสนานร่าเริงจากการเล่นเกมส์การพนันมาเปิดให้บริการกับลูกค้าทุกคนที่เข้ามาร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ร่วมบันเทิงใจกับเกมการพนันออนไลน์เยอะแยะ เล่นเกมส์การพนันคาสิโนออนไลน์ผ่านโทรศัพท์เคลื่อนที่
    สำหรับผู้ใดกันแน่ที่รักในการเล่นเกมส์การพนันคาสิโนออนไลน์ ร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา ในเว็บของพวกเรามีเกมส์การพนันล้นหลามกว่า 200 เกมส์ เว็บคาสิโนออนไลน์ของพวกเรามีเกมการพนันออนไลน์ทุกแบบอย่างเปิดให้บริการกับทุกคนที่เข้ามาร่วมเล่นเกมส์การพนัน ฉะนั้นร่วมเล่นเกมส์การพนันกับเว็บของพวกเราได้เลยปัจจุบันนี้ เล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมออนไลน์ได้เงินจริง
    สมัครร่วมเล่นเกมส์การพนันกับเว็บของพวกเรา
    สำหรับผู้ใดกันแน่ที่ต้องการจะร่วมเล่นเกมส์การพนันคาสิโน สำหรับผู้ใดที่มีความต้องการต้องการจะเล่นเกมส์การพนัน มีความต้องการต้องการจะทำเงินจากการเล่นเกม เล่นเกมออนไลน์ได้เงินจริง สล็อตออนไลน์ได้เงินจริง Pussy888 กับเว็บของพวกเรา เว็บของพวกเราชำระเงินให้กับเพื่อนฝูงๆผ่านระบบอัตโนมัติ เว็บของพวกเราชำระเงินให้กับเพื่อนฝูงๆทุกคนที่เข้ามาร่วมเล่นเกมส์การพนัน ไม่ว่าจะเป็นเงินปริมาณน้อยหรือมากแค่ไหน พวกเราชำระเงินเร็วทันใจไม่มีความจำเป็นที่จะต้องรอนาน
    โดยเหตุนี้สมัครร่วมเล่นเกมส์การพนันกับเว็บของพวกเราได้เลยในขณะนี้ เล่นเกมส์การพนันกับผู้ให้บริการเกมการพนันที่มีคุณภาพ เล่นเกมส์การพนันกับเว็บคาสิโนออนไลน์ชั้น 1 ผู้ให้บริการเกมการพนันออนไลน์ที่ยอดเยี่ยมในขณะนี้

  7. Thanks for every other informative website. The place else may just
    I am getting that type of info written in such a perfect
    approach? I’ve a undertaking that I am just now operating on, and I’ve been on the glance out for such information.

    Here is my website – InesHCockley

  8. I’m the manager of JustCBD label (justcbdstore.com) and I’m presently planning to develop my wholesale side of company. I am hoping anybody at targetdomain share some guidance . I thought that the most effective way to do this would be to reach out to vape companies and cbd stores. I was hoping if someone could recommend a trusted site where I can buy Vape Shop B2B Sales Leads I am presently looking at creativebeartech.com, theeliquidboutique.co.uk and wowitloveithaveit.com. Not sure which one would be the most ideal option and would appreciate any guidance on this. Or would it be much simpler for me to scrape my own leads? Ideas?

  9. This website is actually a walk-through for every one of the information you desired concerning this and didn?t know who to ask. Glimpse below, as well as you?ll most definitely discover it.

  10. I?d need to check with you here. Which is not something I usually do! I delight in reading a blog post that will certainly make people assume. Additionally, thanks for permitting me to comment!

  11. Great article. I discover something much more tough on different blog sites daily. It will certainly always be promoting to read material from various other writers as well as practice a little something from their shop. I?d favor to make use of some with the content on my blog site whether you don?t mind. Natually I?ll provide you a link on your web blog. Many thanks for sharing.

  12. Can I simply state what a relief to locate someone that really understands what theyre talking about online. You absolutely recognize exactly how to bring a concern to light and also make it essential. Even more individuals require to read this as well as comprehend this side of the tale. I angle believe youre not extra prominent due to the fact that you absolutely have the gift.

  13. I?m impressed, I have to state. Truly hardly ever do I come across a blog site that?s both instructional and also amusing, as well as let me tell you, you have actually hit the nail on the head. Your suggestion is impressive; the issue is something that not enough individuals are talking smartly around. I am very happy that I stumbled across this in my search for something connecting to this.

  14. I had been recommended this internet site by using my cousin. I’m not sure whether
    this post is written by using him as no one else recognize such exact about my problem.
    You’re amazing! Many thanks!

    Stop by my web site: MattNGroover

  15. Greetings I am so excited I found your website, I really found you
    by accident, while I was researching on Bing for something else, Anyhow I am here now
    and would just like to say many thanks for a remarkable post and
    a all round interesting blog (I also love the theme/design),
    I don’t have time to look over it all at the moment but I have bookmarked it
    and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep
    up the great jo.

  16. I uncovered your blog site on google and also examine a few of your very early articles. Continue to keep up the excellent operate. I simply additional up your RSS feed to my MSN News Viewers. Seeking onward to learning more from you in the future!?

  17. I?m satisfied, I should claim. Actually hardly ever do I run into a blog that?s both informative as well as amusing, and let me inform you, you have hit the nail on the head. Your idea is impressive; the issue is something that insufficient people are speaking intelligently around. I am very happy that I stumbled across this in my look for something relating to this.

  18. This is the perfect webpage for anyone who hopes to find out about this topic. You know so much its almost tough to argue with you (not that I really would want to…HaHa). You definitely put a brand new spin on a topic that’s been written about for ages. Great stuff, just great!

  19. The next time I review a blog, I really hope that it doesn’t dissatisfy me as high as this one. I imply, I know it was my choice to check out, but I actually assumed youd have something fascinating to say. All I listen to is a lot of yawping concerning something that you might take care of if you werent too active trying to find focus.

댓글 남기기