十万火急:怎样把对数据库的 *** 作(要ADO)放进DLL,请看详细说明

十万火急:怎样把对数据库的 *** 作(要ADO)放进DLL,请看详细说明,第1张

可以把ADO的连接放进DLL中,支持SQL语句就好。

然后在工程中再定义一个有增删改功能的类。在里面把增删改的功能转换成相应的SQL语句,调用DLL中的执行SQL语句的功能。

不建议在DLL中直接实现你要的类,封装后不仅利用率低,而且在内存管理上不好做。把常用且通用的功能放在DLL中就好了。

///////////////////////////////////////////////////////////////

代码很简单,但是很长

思路:

数据库内容读到控件后

增:插一个新的记录

改、删:得到选中行在数据库中的唯一记录的内容,通过这个去 *** 作数据库,变更相应内容。

OracleDataAccessdll需要安装Oracle客户端,不能使用域名或ip

OracleManagedDataAccess新一代的连接工具,不依赖Oracle客户端

msado15dll是否引用了?一般放在StdAfxh里面

#import "C:\Program Files (x86)\Common Files\System\ado\msado15dll"no_namespace\

rename("EOF","adoEOF")rename("BOF","adoBOF")

把CALLVB_API这个宏,放在KMT_start函数声明前,类似下面这样

CALLVB_API int __stdcall KMT_start(short devType, char uid[], char fw[])

另外#include "stdafxh" 这一句应该出现在CPP文件的第一行的

编译完的动态库,建议楼主用dumpbin来查看一下导出的函数名是不是正确,dumpbin的用法网上随处可见

ASP调用DLL当然要注册了,不然他怎么认得路径?除了用REGSVR32在minging行中注册外,还可以使用“控制面板”->“管理工具”->“组件服务”->“COM+应用程序”->右键“添加”的方式。不过也很烦,因为要先删除以前的再添加新的。

ASPNET就不用注册,直接在工程中,“引用”之后,DLL会被复制到工程的特定目录下,那就不用指明路径,也就不用注册了

private void tables_SelectedIndexChanged(object sender, SystemEventArgs e)

{

//定义data是一个新数据表。

//这个data应该是一个全局变量。之前定义过。否则这里应该是DataTable data= new DataTable();

data = new DataTable();

//定义一个读取数据库的适配器da。这个da应该也是全局变量。

//查询语句是:"SELECT  FROM " + tablesSelectedItemToString()

//conn是已经定义好的数据库连接。

da = new MySqlDataAdapter("SELECT  FROM " + tablesSelectedItemToString(), conn );

//定义读取数据库的命令

//使用MySqlCommandBuilder可以根据select语句,自动生成带有Insert语句的InsertCommand等

cb = new MySqlCommandBuilder( da ); // 此处必须有,否则无法更新

//根据适配器da的查询语句的内容,把结果写入数据表data中

daFill( data );

//把dataGrid的数据源设为data,这样dataGrid中就可以显示data中的内容了

dataGridDataSource = data;

}

dll里怎么可能加载数据呢?它只能动态链接,数据源或许只是通过dll去链接而已,不知道你软件是自己做的,还是别人的。如果要看dll里面有什么东西,可以去下载一个execope的软件去查看导入或导出的函数名,但是绝对看不到源代码的

以上就是关于十万火急:怎样把对数据库的 *** 作(要ADO)放进DLL,请看详细说明全部的内容,包括:十万火急:怎样把对数据库的 *** 作(要ADO)放进DLL,请看详细说明、C#连接Oracle的时候,Oracle.DataAccess.dll能连接数据库,Oracle.ManagedDataAccess却不能、msado15.dll 在VC6.0使用ado连接数据库的问题 问题如下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9298344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存