C#中使用access数据库实现查询

C#中使用access数据库实现查询,第1张

// 连接

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\\test.mdb")

cn.Open()

cn.Close()

// 读取数据到DataTable

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\\test.mdb")

DataTable userTbl = new DataTable()

OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [User]", cn)

da.Fill(userTbl)

以下表为例演示插入跟新 *** 作

表名:User

字段:ID,UserName,UserPassword

// 插入一条记录

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\\test.mdb")

OleDbCommand cmd = new OleDbCommand("INSERT INTO [User] ([ID], [UserName], [UserPassword]) VALUES (1, 'user_ab', '123')", cn)

cn.Open()

cmd.ExecuteNonQuery()

cn.Close()

// 更新

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\\test.mdb")

OleDbCommand cmd = new OleDbCommand("UPDATE [User] SET [UserPassword]='newpwd' WHERE [UserName]='user_ab'", cn)

cn.Open()

cmd.ExecuteNonQuery()

cn.Close()

1、C/C++与数据库交互,像 mssql/ mysql / oracle 等,一般都有成熟的第三方库,这些库里面无非就是封装了与数据库通讯的方式和通讯协议搜一下要用的数据库相关的 API 文档,会说得很清楚任何文件都是二进制数据,关键是数据存储的组织方式通用扩展名的文件,像gif/doc/jpg/wav,格式都是固定的。

2、举个例子,连接SQL:

// 打开数据库

strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0Data Source=%sJet OLEDB:Database Password=%s"), m_strUnEntryptMdbFilePath,m_strMDBPassword)

// 创建连接

HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection))

_ConnectionPtr m_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified)

// 声明表单指针

_RecordsetPtr pBandRecordset

pBandRecordset.CreateInstance(__uuidof(Recordset))

// 执行语句

CString strSQL(L"SELECT * FROM [Band]")

m_pConnection->Execute((LPCTSTR)strSQL,NULL,0)

// 提取某一项 例如BandInfo

int iBandInfo = wcscmp(colum, L"BandInfo")

while(!recordsetPtr->adoEOF)

{

var = recordsetPtr->GetCollect(colum)

if(var.vt != VT_NULL)

strName = (LPCSTR)_bstr_t(var)

recordsetPtr->MoveNext()

}

Access主要对象有数据表、查询、报表、窗体、宏、模块。

数据表(Table) ——表是Access数据库的核心对象,主要是用于存储数据,是创建其他5种对象的基础。数据表是以行、列来显示数据记录,是同一类数据的集合体。

表由记录组成,记录由字段组成,是Access数据库中存贮数据的地方,故又称数据库。一个数据库中可以包含一个或多个数据表。

查询(Query)——根据事先设定的限制条件从一个或多个数据表中检索除符合条件的数据,并加以统计和分析。查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。一方面窗体可以增加录入过程的趣味性,另一方面也保护了数据的完整性、准确性和安全性。

报表(Report)——报表是用于将将检索的数据或原始数据以特定的方式显示出来,报表既可以对数据进行分组,还支持对数据的各种统计和计算。

宏(Macro)——是一个或多个命令的集合,其中每个命令都可以实现特定的功能,通过将这些命令组合起来,可以自动完成某些经常重复或复杂的动作。Access大部分功能是可以通过宏的组合来完成的。

模块(Module)——模块的功能与宏类似,但它定义的 *** 作比宏更精细和复杂,用户可以根据自己的需要编写程序。

扩展资料

Access数据库的优缺点:

Microsoft Access Basic提供了一个丰富的开发环境。这个开发环境给你足够的灵活性和对Microsoft Windows应用程序接口的控制,同时保护你使你免遭用高级或低级语言开发环境开发时所碰到的各种麻烦。

不过,许多优化、有效数据和模块化方面只能是应用程序设计者才能使用。开发者应致力于谨慎地使用算法。除了一般的程序设计概念,还有一些特别的存储空间的管理技术,正确使用这些技术可以提高应用程序的执行速度,减少应用程序所消耗的存储资源。

提高速度和减少代码量

你可以用几种技巧来提高你的编码速度,但是却找不到有效的算法的替代者。接下来的这几点建议可以提高你的编码速度同时又减少你的应用程序消耗的存储空间。

用整形数进行数学运算

即使Microsoft Access 会使用一个联合处理器来处理浮点型算术,整型数算术也总是要快一些。当你的计算不含有小数,尽量使用整型或长整型而不是变量或双整型。整型除法同样也要比浮点除法要快。在使用其他一些有效的数据类型时会警告:没有任何东西可以替换有效的运算法则。

避免使用过程调用

避免在循环体中使用子程序或函数调用。每一次调用都因额外的工作和时间而给编码增大了负担。每一次调用都要求把函数的局部变量和参数压栈,而栈的大小是固定的,不能随便加大,并且同时还要于Microsoft Access共享。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存