Maison base de données tutoriel mysql 直接通过DAO读写Access文件

直接通过DAO读写Access文件

Jun 07, 2016 pm 03:16 PM
access d dao 利用 文件 读写 passer

直接 利用DAO来创建、读写Access 文件 ,总的说来,对比上篇《 直接 通过 ODBC读、写Excel 文件 》来讲,要简单一些。在下面的示例中,我们将用到两种方法:SQL和DAO类函数来混合实现它们,这样做的目地,我想可以使大家更加方便灵活的运用它们来完成你想要

直接利用DAO来创建、读写Access文件,总的说来,对比上篇《直接通过ODBC读、写Excel文件》来讲,要简单一些。在下面的示例中,我们将用到两种方法:SQL和DAO类函数来混合实现它们,这样做的目地,我想可以使大家更加方便灵活的运用它们来完成你想要做的东西。在示例程序中默认指定创建数据库名为:Demo.mdb,内部表名为:DemoTable,写入两个字段:名字和年龄,采用和上一篇读写Excel类似的操作,你也可以根据自己需要来动态改变它们。示例程序运行界面如下所示:

下面让我们来简要看看它的实现步骤:

1. 首先,应确保包含进了afxdao.h头文件,可以在StdAfx.h文件中包含它,如下:

#include <afxdao.h>         //加入DAO数据库支持</afxdao.h>

2. 声明DAO库及其记录集变量,可在你的实现文件中加入下面代码: CDaoDatabase db;          //数据库<br>CDaoRecordset RecSet(&db);    //记录集3. 接着,先让我们来实现它的创建及写入操作void CRWAccessDlg::OnWriteAccess()<br>{<br>  //获取主程序所在路径,存在sPath中<br>  CString sPath;<br>  GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);<br>  sPath.ReleaseBuffer ();<br>  int nPos;<br>  nPos=sPath.ReverseFind (''\\'');<br>  sPath=sPath.Left (nPos);<br>  //默认创建数据名:Demo.mdb,内部表名:DemoTable,表内有二个字段:姓名、年龄<br>  CString lpszFile = sPath + "\\Demo.mdb";<br>  <br>  CFileFind fFind;<br>  BOOL bSuccess;<br>  bSuccess=fFind.FindFile(lpszFile);<br>  fFind.Close ();<br>  //是否已有创建好的Demo.mdb<strong>文件</strong>,没有则创建它<br>  if(!bSuccess)<br>  {<br>    db.Create(lpszFile);<br>    CString SqlCmd = "CREATE TABLE DemoTable(Name VARCHAR(20),Age VARCHAR(3));";<br>    db.Execute(SqlCmd);<br>  <br>    //打开已创建的数据表<br>    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,<br>      "SELECT * FROM DemoTable", 0);<br>    //加入第一个记录,用SQL语句<br>    db.Execute("INSERT INTO DemoTable (Name,Age) VALUES (''徐景周'',26)");<br>    <br>    //加入第二个记录,用DAO涵数<br>    RecSet.AddNew();<br>    RecSet.SetFieldValue("Name","徐志慧");<br>    RecSet.SetFieldValue("Age","21");<br>    RecSet.Update();<br>    <br>    //加入第三个记录,用DAO涵数<br>    RecSet.AddNew();<br>    RecSet.SetFieldValue("Name","郭徽");<br>    RecSet.SetFieldValue("Age","27");<br>    RecSet.Update();<br>    <br>    //关闭记录集及库<br>    RecSet.Close();<br>    db.Close();<br>    AfxMessageBox("Access<strong>文件</strong>写入成功!");<br>  }<br>  else<br>    AfxMessageBox("Demo.mdb数据库已经创建!");<br>  <br>}4. 最后,让我们来实现它的读取操作。void CRWAccessDlg::OnReadAccess()<br>{<br>  COleVariant var;    // 字段类型<br>  var.ChangeType(VT_BSTR, NULL);<br>  CString strName,strAge,strFile;<br>  //清空列表框<br>  m_AccessList.ResetContent();<br>  //获取主程序所在路径,存在sPath中<br>  CString sPath;<br>  GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);<br>  sPath.ReleaseBuffer ();<br>  int nPos;<br>  nPos=sPath.ReverseFind (''\\'');<br>  sPath=sPath.Left (nPos);<br>  strFile = sPath + "\\demo.mdb";<br>  db.Open(strFile);    // 打开已创建的demo数据库及DamoTable表<br>  RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM DemoTable",NULL);<br>  while(!RecSet.IsEOF())  // 有没有到表结尾<br>  {<br>    RecSet.GetFieldValue("Name",var);<br>    strName = (LPCSTR)var.pbstrVal;<br>    RecSet.GetFieldValue("Age",var);<br>    strAge = (LPCSTR)var.pbstrVal;<br>    m_AccessList.AddString( strName + " --> "+strAge );<br>    RecSet.MoveNext();<br>  }<br>  //关闭记录集及库<br>  RecSet.Close();<br>  db.Close();<br>}以上部分代码的具体实现的细节问题,可在下载实例代码后,仔细查看源码既可(内有详细注释)。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment désactiver les applications en arrière-plan dans Windows 11_Tutoriel Windows 11 pour désactiver les applications en arrière-plan Comment désactiver les applications en arrière-plan dans Windows 11_Tutoriel Windows 11 pour désactiver les applications en arrière-plan May 07, 2024 pm 04:20 PM

1. Ouvrez les paramètres dans Windows 11. Vous pouvez utiliser le raccourci Win+I ou toute autre méthode. 2. Accédez à la section Applications et cliquez sur Applications et fonctionnalités. 3. Recherchez l'application que vous souhaitez empêcher de s'exécuter en arrière-plan. Cliquez sur le bouton à trois points et sélectionnez Options avancées. 4. Recherchez la section [Autorisations d'application en arrière-plan] et sélectionnez la valeur souhaitée. Par défaut, Windows 11 définit le mode d'optimisation de l'alimentation. Il permet à Windows de gérer le fonctionnement des applications en arrière-plan. Par exemple, une fois que vous avez activé le mode d'économie de batterie pour préserver la batterie, le système fermera automatiquement toutes les applications. 5. Sélectionnez [Jamais] pour empêcher l'application de s'exécuter en arrière-plan. Veuillez noter que si vous remarquez que le programme ne vous envoie pas de notifications, ne parvient pas à mettre à jour les données, etc., vous pouvez

Comment convertir le pdf Deepseek Comment convertir le pdf Deepseek Feb 19, 2025 pm 05:24 PM

Deepseek ne peut pas convertir les fichiers directement en PDF. Selon le type de fichier, vous pouvez utiliser différentes méthodes: documents communs (Word, Excel, PowerPoint): utilisez Microsoft Office, LibreOffice et d'autres logiciels à exporter sous forme de PDF. Image: Enregistrer sous le nom de PDF à l'aide d'une visionneuse d'image ou d'un logiciel de traitement d'image. Pages Web: Utilisez la fonction "Imprimer en PDF" du navigateur ou l'outil Web dédié à PDF. Formats peu communs: trouvez le bon convertisseur et convertissez-le en PDF. Il est crucial de choisir les bons outils et d'élaborer un plan basé sur la situation réelle.

Que signifie Dao en Java Que signifie Dao en Java Apr 21, 2024 am 02:08 AM

DAO (Data Access Object) en Java est utilisé pour séparer le code d'application et la couche de persistance. Ses avantages incluent : Séparation : Indépendante de la logique de l'application, ce qui facilite sa modification. Encapsulation : masquez les détails d'accès à la base de données et simplifiez l'interaction avec la base de données. Évolutivité : facilement extensible pour prendre en charge de nouvelles bases de données ou technologies de persistance. Avec les DAO, les applications peuvent appeler des méthodes pour effectuer des opérations de base de données telles que la création, la lecture, la mise à jour et la suppression d'entités sans traiter directement les détails de la base de données.

Impossible d'autoriser l'accès à la caméra et au microphone sur iPhone Impossible d'autoriser l'accès à la caméra et au microphone sur iPhone Apr 23, 2024 am 11:13 AM

Le message « Impossible d'autoriser l'accès à la caméra et au microphone » s'affiche-t-il lorsque vous essayez d'utiliser l'application ? En règle générale, vous accordez des autorisations de caméra et de microphone à des personnes spécifiques en fonction de leurs besoins. Cependant, si vous refusez l'autorisation, la caméra et le microphone ne fonctionneront pas et afficheront ce message d'erreur à la place. Résoudre ce problème est très simple et vous pouvez le faire en une minute ou deux. Correctif 1 – Fournir les autorisations de caméra et de microphone Vous pouvez fournir les autorisations de caméra et de microphone nécessaires directement dans les paramètres. Étape 1 – Accédez à l'onglet Paramètres. Étape 2 – Ouvrez le panneau Confidentialité et sécurité. Étape 3 – Activez-y l’autorisation « Caméra ». Étape 4 – À l’intérieur, vous trouverez une liste des applications qui ont demandé l’autorisation d’accéder à l’appareil photo de votre téléphone. Étape 5 – Ouvrez la « Appareil photo » de l'application spécifiée

Que signifie le champ en Java Que signifie le champ en Java Apr 25, 2024 pm 10:18 PM

En Java, un « champ » est un membre de données dans une classe ou une interface utilisée pour stocker des données ou un état. Les propriétés du champ incluent : le type (peut être n'importe quel type de données Java), les droits d'accès, statique (appartient à une classe plutôt qu'à une instance), final (immuable) et transitoire (non sérialisé). Le champ est utilisé pour stocker les informations d'état d'une classe ou d'une interface, telles que le stockage des données d'objet et la maintenance de l'état de l'objet.

Comment le mécanisme de réflexion Java modifie-t-il le comportement d'une classe ? Comment le mécanisme de réflexion Java modifie-t-il le comportement d'une classe ? May 03, 2024 pm 06:15 PM

Le mécanisme de réflexion Java permet aux programmes de modifier dynamiquement le comportement des classes sans modifier le code source. En exploitant une classe via l'objet Class, vous pouvez créer des instances via newInstance(), modifier les valeurs des champs privés, appeler des méthodes privées, etc. La réflexion doit toutefois être utilisée avec prudence, car elle peut entraîner un comportement inattendu et des problèmes de sécurité, et entraîner une surcharge en termes de performances.

Comment inter-domaines iframe dans vue Comment inter-domaines iframe dans vue May 02, 2024 pm 10:48 PM

Façons de résoudre les problèmes inter-domaines iframe dans Vue : CORS : activez la prise en charge de CORS dans le serveur backend et utilisez XMLHttpRequest ou l'API de récupération pour envoyer des requêtes CORS dans Vue. JSONP : chargez dynamiquement des scripts JSONP dans Vue à l'aide du point de terminaison JSONP sur le serveur backend. Serveur proxy : configurez un serveur proxy pour transférer les requêtes, utilisez une bibliothèque tierce (telle que axios) dans Vue pour envoyer des requêtes et définissez l'URL du serveur proxy.

Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java May 03, 2024 pm 02:09 PM

Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java Lors du développement de fonctions Java, diverses exceptions peuvent survenir, affectant l'exécution correcte de la fonction. Voici les types d'exceptions courants et leurs mesures de réparation : 1. NullPointerException Description : levée lors de l'accès à un objet qui n'a pas été initialisé. Correctif : assurez-vous de vérifier que l'objet n'est pas nul avant de l'utiliser. Exemple de code : try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){

See all articles