搜尋
首頁資料庫mysql教程如何使用c#操作ACCESS数据库

如何使用c#操作ACCESS数据库

Jun 07, 2016 pm 04:23 PM
access使用如何操作資料庫

如何使用c#操作ACCESS数据库: 手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 SxS

   如何使用c#操作ACCESS数据库:

  手头没有Microsoft Access,如何建立数据库,一切依然简单.

  首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间;

  接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间

  SxS好问提示:如,导入dll不成功,手动把com组件导入为 .net组件,在用vs.net工具导入

  using System;

  using System.IO;

  using ADOX; //该命名空间包含创建ACCESS的类(方法)--解决方案 ==> 引用 ==> 添加引用 ==> 游览找到.dll

  using JRO; //该命名空间包含压缩ACCESS的类(方法)

  public class Access

  ...{

  /**////根据指定的文件名称创建ACCESS数据库

  ///mdbPath:要创件的ACCESS绝对路径

  public void Create( string mdbPath )

  ...{

  if( File.Exists(mdbPath) ) //检查数据库是否已存在

  ...{

  throw new Exception("目标数据库已存在,无法创建");

  }

  // 可以加上密码,这样创建后的数据库必须输入密码后才能打开

  mdbPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath;

  // 创建一个CatalogClass对象的实例,

  ADOX.CatalogClass cat = new ADOX.CatalogClass();

  // 使用CatalogClass对象的Create方法创建ACCESS数据库

  cat.Create(mdbPath);

  }

  /**////压缩修复ACCESS数据库,mdbPath为数据库绝对路径

  public void Compact( string mdbPath )

  ...{

  if( !File.Exists(mdbPath) ) //检查数据库是否已存在

  ...{

  throw new Exception("目标数据库不存在,无法压缩");

  }

  //声明临时数据库的名称

  string temp = DateTime.Now.Year.ToString();

  temp += DateTime.Now.Month.ToString();

  temp += DateTime.Now.Day.ToString();

  temp += DateTime.Now.Hour.ToString();

  temp += DateTime.Now.Minute.ToString();

  temp += DateTime.Now.Second.ToString() + ".bak";

  temp = mdbPath.Substring(0, mdbPath.LastIndexOf("")+1) + temp;

  //定义临时数据库的连接字符串

  temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;

  //定义目标数据库的连接字符串

  mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath;

  //创建一个JetEngineClass对象的实例

  JRO.JetEngineClass jt = new JRO.JetEngineClass();

  //使用JetEngineClass对象的CompactDatabase方法压缩修复数据库

  jt.CompactDatabase( mdbPath2, temp2 );

  //拷贝临时数据库到目标数据库(覆盖)

  File.Copy( temp, mdbPath, true );

  //最后删除临时数据库

  File.Delete( temp );

  } /**//// 备份数据库,mdb1,源数据库绝对路径; mdb2: 目标数据库绝对路径

  public void Backup( string mdb1, string mdb2 )

  ...{

  if( !File.Exists(mdb1) )

  ...{

  throw new Exception("源数据库不存在");

  }

  try

  ...{

  File.Copy( mdb1, mdb2, true );

  }

  catch( IOException ixp )

  ...{

  throw new Exception(ixp.ToString());

  }

  }

  /**////恢复数据库,mdb1为备份数据库绝对路径,mdb2为当前数据库绝对路径

  public void Recover( string mdb1, string mdb2 )

  ...{

  if( !File.Exists(mdb1) )

  ...{

  throw new Exception("备份数据库不存在");

  }

  try

  ...{

  File.Copy( mdb1, mdb2, true );

  }

  catch( IOException ixp )

  ...{

  throw new Exception(ixp.ToString());

  }

  }

  }

  ******************************************************************************************************

  在BETA2中,。NET提供了以下的NAMESPACE:

  System.Data Namespace

  System.Data.OleDb (和BETA1中已经不同了,所以如果拿BETA1中的程序到BETA2中来运行肯定不可以的)

  如果想讲清楚这些东西,我不认为是我可以作到的,所以我想通过一些具体的程序来把我们对数据库的最基本的操作(SELECT、UPDATE、DELETE、INSERT等)演示一下,其他的还是需要朋友们在学习过程中来慢慢体会了!

  要想操作一个数据库,,不论是那种操作,首先要做的肯定是打开数据库,下面我们以ACCESS数据库来做例子说明如何打开一个数据库连接!在这里我们需要用到的是:System.Data.OleDb.OleDbConnection类!(如果操作SQL数据库,我们最好使用 System.Data.SqlClient.SqlConnection类)

  我先写出我自己使用的程序:

  using System.Data

  using System.Data.OleDb

  public OleDbConnection getConn()

  {

  string connstr="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=F:webnotesbookclassleavenotes.mdb";

  OleDbConnection tempconn= new OleDbConnection(connstr);

  return(tempconn);

  }

  相信只要使用过ADO的朋友应该都可以看懂的!我们先定义一个String类型的变量,其中存放了我们连接数据库的连接字符串,然后在定义一个 System.Data.OleDb.OleDbConnection类型的对象并实例化,最后返回这个对象!需要说明一下的是,我并没有把语句: tempconn.Open();放到这个函数中,原因我我稍后在说明,这里只是先提醒一下!

  通过上面的函数,我们就已经得到了类似于ADO中的连接对象Connection了!下面的就是具体操作数据库了!

  在具体讲操作前,我认为有必要先认识一下下面的两个类:

  System.Data.OleDb.OleDbDataAdapter

  System.Data.OleDb.OleDbDataReader

  System.Data.OleDb.OleDbDataAdapter:可以直接和DataSet联系,并操作数据源的,它的功能相对强大一些,因此也比较耗系统资源!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在MySQL中使用視圖的局限性是什麼?在MySQL中使用視圖的局限性是什麼?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他們不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinsOrsubqueries.2)他們canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

確保您的MySQL數據庫:添加用戶並授予特權確保您的MySQL數據庫:添加用戶並授予特權May 14, 2025 am 12:09 AM

porthusermanagementinmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素會影響我可以在MySQL中使用的觸發器數量?哪些因素會影響我可以在MySQL中使用的觸發器數量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)複雜的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

mysql:存儲斑點安全嗎?mysql:存儲斑點安全嗎?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

mySQL:通過PHP Web界面添加用戶mySQL:通過PHP Web界面添加用戶May 14, 2025 am 12:04 AM

通過PHP網頁界面添加MySQL用戶可以使用MySQLi擴展。步驟如下:1.連接MySQL數據庫,使用MySQLi擴展。 2.創建用戶,使用CREATEUSER語句,並使用PASSWORD()函數加密密碼。 3.防止SQL注入,使用mysqli_real_escape_string()函數處理用戶輸入。 4.為新用戶分配權限,使用GRANT語句。

mysql:blob和其他無-SQL存儲,有什麼區別?mysql:blob和其他無-SQL存儲,有什麼區別?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而ilenosqloptionslikemongodb,redis和calablesolutionsolutionsolutionsoluntionsoluntionsolundortionsolunsonstructureddata.blobobobissimplobisslowdeperformberbutslowderformandperformancewithlararengedata;

mySQL添加用戶:語法,選項和安全性最佳實踐mySQL添加用戶:語法,選項和安全性最佳實踐May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串數據類型常見錯誤?MySQL:如何避免字符串數據類型常見錯誤?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingSefectery.1)usecharforfixed lengengtrings,varchar forvariable-varchar forbariaible length,andtext/blobforlargerdataa.2 seterters seterters seterters

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器