C# mdb 파일 삭제 및 수정 작업
C# mdb 파일 삭제 및 수정 작업
1. C# 프로젝트를 만들고 프로젝트 이름은 MDBTest입니다.2. 두 개의 단추를 추가하여 파일을 생성하고 데이터를 추가한다.3. 데이터베이스 파일을 만들고 인용을 추가하고 "인용 추가"대화상자에서COM 페이지로 전환하고 "Microsoft ADO Ext. 2.8 for DDL and Security"를 선택한 다음 OK를 누르십시오.파일의 시작 부분에 using ADOX 이름 공간을 사용합니다.그리고 위에 표시된 코드를 추가하면 다음과 같은 Access 데이터베이스를 성공적으로 만들 수 있습니다. ///
/// Access
///
///
/// ,
public bool CreateAccessDatabase(string path)
{
// ACCESS ADOX, , COM Microsoft ADO Ext. 2.8 for DLL and Security, using ADOX;
FileInfo myfile = new FileInfo(path);
if (myfile.Exists)
{
//MessageBox.Show(" , ");
return false;
}
else
{
try
{
ADOX.Catalog sldb = new ADOX.Catalog();
sldb.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + "Jet OLEDB:Engine Type=5");// sldb.mdb
sldb = null;
}
catch (Exception ex)
{
MessageBox.Show(Convert.ToString(ex.Message));
return false;
}
}
return true;
}
데이터베이스를 만든 후 테이블을 작성해야 하며 전체 프로세스 코드는 다음과 같습니다.private void button_createfile_Click(object sender, EventArgs e)
{
string path = System.IO.Directory.GetCurrentDirectory();
path += "\\test.mdb";
if (!CreateAccessDatabase(path))
{
return;
}
////////////////////////////////////////////////////////////////// ,
ArrayList columnames = new ArrayList();
columnames.Add("DTIME");
columnames.Add("NAME");
columnames.Add("AGE");
////////////////////////////////////////////
CreateMDBTable(path, "SNTable", columnames);
/////////////////////////////////////////////////////////////////////////////////////////////////
}
4. sql 문장을 통해 데이터베이스에 데이터 추가string strSql = "";
OleDbConnection connet1 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + path);
connet1.Open();
strSql = "insert into SNTable(DTIME,NAME,AGE) values ('" + strtime + "','" + "sfc" + "','" + "27" + "')";
OleDbCommand cmd = new OleDbCommand(strSql, connet1);
int a = cmd.ExecuteNonQuery();
connet1.Close();
5. 레코드 조회 및 삭제this._fileName = strDBFilePath;
this._connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDBFilePath + ";";
//1、 C# Access mdb
this._odcConnection = new OleDbConnection(this._connectionString);
//2、 C# Access mdb
this._odcConnection.Open();
///////////////////////////////////////////////////////////
// SQL
OleDbCommand odCommand = _odcConnection.CreateCommand();
//3、 C# Access mdb
odCommand.CommandText = "select * from " + "SNTable";
//
OleDbDataReader odrReader = odCommand.ExecuteReader();
//
int size = odrReader.FieldCount;
///////////////////////////////////////////////////////////
// PCBASN
string strSqldpcbasn = "delete from SNTable where NAME ='" + "sfc" + "';";
OleDbCommand cmd1 = new OleDbCommand(strSqldpcbasn, _odcConnection);
int dnum = cmd1.ExecuteNonQuery();
if (dnum > 0)
{
MessageBox.Show(" "+dnum.ToString()+" !!!");
// C# Access mdb
odrReader.Close();
_odcConnection.Close();
return true;
}
else
{
MessageBox.Show(" !!!");
}
// C# Access mdb
odrReader.Close();
_odcConnection.Close();
전체 예제 프로젝트 소스 가져오기 주소:http://download.csdn.net/download/shufac/10024483
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지
Evergreen
.Net Framework SDK 4.8
VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
///
/// Access
///
///
/// ,
public bool CreateAccessDatabase(string path)
{
// ACCESS ADOX, , COM Microsoft ADO Ext. 2.8 for DLL and Security, using ADOX;
FileInfo myfile = new FileInfo(path);
if (myfile.Exists)
{
//MessageBox.Show(" , ");
return false;
}
else
{
try
{
ADOX.Catalog sldb = new ADOX.Catalog();
sldb.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + "Jet OLEDB:Engine Type=5");// sldb.mdb
sldb = null;
}
catch (Exception ex)
{
MessageBox.Show(Convert.ToString(ex.Message));
return false;
}
}
return true;
}
private void button_createfile_Click(object sender, EventArgs e)
{
string path = System.IO.Directory.GetCurrentDirectory();
path += "\\test.mdb";
if (!CreateAccessDatabase(path))
{
return;
}
////////////////////////////////////////////////////////////////// ,
ArrayList columnames = new ArrayList();
columnames.Add("DTIME");
columnames.Add("NAME");
columnames.Add("AGE");
////////////////////////////////////////////
CreateMDBTable(path, "SNTable", columnames);
/////////////////////////////////////////////////////////////////////////////////////////////////
}
string strSql = "";
OleDbConnection connet1 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + path);
connet1.Open();
strSql = "insert into SNTable(DTIME,NAME,AGE) values ('" + strtime + "','" + "sfc" + "','" + "27" + "')";
OleDbCommand cmd = new OleDbCommand(strSql, connet1);
int a = cmd.ExecuteNonQuery();
connet1.Close();
this._fileName = strDBFilePath;
this._connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDBFilePath + ";";
//1、 C# Access mdb
this._odcConnection = new OleDbConnection(this._connectionString);
//2、 C# Access mdb
this._odcConnection.Open();
///////////////////////////////////////////////////////////
// SQL
OleDbCommand odCommand = _odcConnection.CreateCommand();
//3、 C# Access mdb
odCommand.CommandText = "select * from " + "SNTable";
//
OleDbDataReader odrReader = odCommand.ExecuteReader();
//
int size = odrReader.FieldCount;
///////////////////////////////////////////////////////////
// PCBASN
string strSqldpcbasn = "delete from SNTable where NAME ='" + "sfc" + "';";
OleDbCommand cmd1 = new OleDbCommand(strSqldpcbasn, _odcConnection);
int dnum = cmd1.ExecuteNonQuery();
if (dnum > 0)
{
MessageBox.Show(" "+dnum.ToString()+" !!!");
// C# Access mdb
odrReader.Close();
_odcConnection.Close();
return true;
}
else
{
MessageBox.Show(" !!!");
}
// C# Access mdb
odrReader.Close();
_odcConnection.Close();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.