如何使用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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Apache用のZendを構成する方法 Apache用のZendを構成する方法 Apr 13, 2025 pm 12:57 PM

ApacheでZendを構成する方法は? Apache WebサーバーでZend Frameworkを構成する手順は次のとおりです。ZendFrameworkをインストールし、Webサーバーディレクトリに抽出します。 .htaccessファイルを作成します。 Zend Application Directoryを作成し、index.phpファイルを追加します。 Zend Application(Application.ini)を構成します。 Apache Webサーバーを再起動します。

MySQL対その他のデータベース:オプションの比較 MySQL対その他のデータベース:オプションの比較 Apr 15, 2025 am 12:08 AM

MySQLは、Webアプリケーションやコンテンツ管理システムに適しており、オープンソース、高性能、使いやすさに人気があります。 1)PostgreSQLと比較して、MySQLは簡単なクエリと高い同時読み取り操作でパフォーマンスが向上します。 2)Oracleと比較して、MySQLは、オープンソースと低コストのため、中小企業の間でより一般的です。 3)Microsoft SQL Serverと比較して、MySQLはクロスプラットフォームアプリケーションにより適しています。 4)MongoDBとは異なり、MySQLは構造化されたデータおよびトランザクション処理により適しています。

MySQL:構造化データとリレーショナルデータベース MySQL:構造化データとリレーショナルデータベース Apr 18, 2025 am 12:22 AM

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

ビジネスの世界におけるオラクルの役割 ビジネスの世界におけるオラクルの役割 Apr 23, 2025 am 12:01 AM

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

DICR/YII2-GOOGLEを使用して、Yii2にGoogle APIを統合します DICR/YII2-GOOGLEを使用して、Yii2にGoogle APIを統合します Apr 18, 2025 am 11:54 AM

vProcesserazrabotkiveb-Enclosed、する、するまみ、するまで。 leavallysumballancefriablancefaumdoptomatification、čtokazalovnetakprosto、kakaožidal.posenesko

実際のmysql:例とユースケース 実際のmysql:例とユースケース Apr 14, 2025 am 12:15 AM

MySQLの実際のアプリケーションには、基本的なデータベース設計と複雑なクエリの最適化が含まれます。 1)基本的な使用法:ユーザー情報の挿入、クエリ、更新、削除など、ユーザーデータの保存と管理に使用されます。 2)高度な使用法:eコマースプラットフォームの注文や在庫管理など、複雑なビジネスロジックを処理します。 3)パフォーマンスの最適化:インデックス、パーティションテーブル、クエリキャッシュを使用して合理的にパフォーマンスを向上させます。

Apache Serverとは何ですか? Apache Serverとは何ですか? Apache Serverとは何ですか? Apache Serverとは何ですか? Apr 13, 2025 am 11:57 AM

Apache Serverは、ブラウザとWebサイトサーバーの間のブリッジとして機能する強力なWebサーバーソフトウェアです。 1.リクエストに基づいてHTTPリクエストを処理し、Webページコンテンツを返します。 2。モジュラー設計により、SSL暗号化や動的Webページのサポートなど、拡張機能が可能になります。 3.構成ファイル(仮想ホスト構成など)は、セキュリティの脆弱性を回避し、スレッドカウントやタイムアウト時間などのパフォーマンスパラメーターを最適化して、高性能および安全なWebアプリケーションを構築するために慎重に設定する必要があります。

Nginx電流制限を解く方法 Nginx電流制限を解く方法 Apr 14, 2025 pm 12:06 PM

nginx電流の制限問題は、次のように解決できます。ngx_http_limit_req_moduleを使用して、リクエスト数を制限します。 ngx_http_limit_conn_moduleを使用して、接続の数を制限します。サードパーティモジュール(NGX_HTTP_LIMIT_CONNECTIONS_MODULE、NGX_HTTP_LIMIT_RATE_MODULE、NGX_HTTP_ACCESS_MODULE)を使用して、より多くの現在の制限ポリシーを実装します。クラウドサービス(CloudFlare、Googleクラウドレート制限、AWS WAF)をDDに使用します

See all articles