반응형
C# How to connect to MS Access 2007
http://stackoverflow.com/questions/508345/c-how-to-connect-to-ms-access-2007/508475
mdb로는 작업을 해보았는 데 2007로 가면서 mdb가 아니라 accdb 확장자로 바뀌었고
연결하는 부분도 바뀌었다.
간단히 조회를 해보자.
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Database1.accdb;Mode=ReadWrite;");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "Select * from ClickTable";
cmd.CommandType = CommandType.Text;
con.Open();
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
// 데이타 읽어보기
btn1.Text = dr["blogname"].ToString();
}
dr.Close();
con.Close();
insert를 하는 부분
http://stackoverflow.com/questions/508345/c-how-to-connect-to-ms-access-2007/508475
void btnSave_Click(object sender, EventArgs e)
{
OleDbConnection Conn = new OleDbConnection();
try
{
string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ Directory.GetCurrentDirectory() +"\\dvd_manager.accdb;Persist Security Info=False;";
Conn.ConnectionString = conn;
Conn.Open();
int i = cbbLocatie.SelectedIndex + 65;
char c = (char)i;
string sql = "INSERT INTO DVD (titel, locatie)VALUES(@titel, @locatie)";
OleDbCommand Com = new OleDbCommand();
Com.CommandText = sql;
Com.Connection = Conn;
OleDbParameter Param = new OleDbParameter("@titel", txtTitle.Text);
Com.Parameters.Add(Param);
Param = new OleDbParameter("@locatie", c);
Com.Parameters.Add(Param);
Com.ExecuteNonQuery();
Conn.Close();
MessageBox.Show("Data is opgeslagen " + sql);
}
catch (Exception ex)
{
MessageBox.Show("Fout opgetreden: " + ex.Message);
}
finally
{
Conn.Close();
}
파라메터 쿼리로 만들고 insert하는 부분이다.
간단히 2007로 된 db에 저장, 조회, 삭제를 하는 프로그램을 만들 필요가 있어서 간단히 만들어 보았다.