access类库数据库
Ⅰ 什么是类库在C#中怎样设计类库
类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类。
类库可以解决一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务),还可以解决多种专用开发任务(控制台应用程序、桌面应用程序、WEB应用程序等)。
类库字面意思就是类的集合,类库不等于框架(Framework),Framework 是比类库更高一级的概念。
以access为例,建立一个access类库,这个类库里面包含有多个类,如果想要执行数据库的删,改,增加,只调用类库中一个类的ExecuteNonQuery方法就好了,在其他位置调用ExecuteNonQuery方法的时候,只需要输入把数据库连接字符串,命令类型,sql语句和参数就可行。
先写一个连接SQL的类
public class DBClass
{
public DBClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public SqlConnection getcon()
{
string strCon = "Data Source=(local);DataBase=stu;User ID=sa;PWD=123";
SqlConnection sqlCon = new SqlConnection(strCon);
return sqlCon;
}
}
调用就使用
DBClass DB = new DBClass();
protected void b_user_Click(object sender, EventArgs e)
{
SqlConnection conn = DB.getcon();
Ⅱ Thinkphp镐庝箞杩炴帴Access鏁版嵁搴
con\config.php 涓閰岖疆濡备笅 ?php return array( APP_DEBUG = true, DB_TYPE=
pdo, // 娉ㄦ剰DSN镄勯厤缃阍埚逛笉钖岀殑鏁版嵁搴撴湁镓鍖哄埆 璇峰弬钥働HP镓嫔唽PDO绫诲簱閮ㄥ垎
DB_DSN=odbc:driver={microsoft access driver
(*.mdb)};dbq=.getcwd().\\Database\\#fbdb.mdb, DB_USE
con\config.php 涓閰岖疆濡备笅
<?php
return array(
'APP_DEBUG' => true,
'DB_TYPE'=> 'pdo',
// 娉ㄦ剰DSN镄勯厤缃阍埚逛笉钖岀殑鏁版嵁搴撴湁镓鍖哄埆 璇峰弬钥働HP镓嫔唽PDO绫诲簱閮ㄥ垎
'DB_DSN'=>"odbc:driver={microsoft access driver
(*.mdb)};dbq=".getcwd()."\\Database\\#fbdb.mdb",
'DB_USER'=>'root',
'DB_PWD'=>'',
'DB_PREFIX'=>'wxz_',
);
?>
鍏朵腑 闇淇鏀圭殑链 "\\Database\\#fbdb.mdb"
鐩稿逛笌褰揿墠鐩褰曚笅镄勬暟鎹搴撴枃浠朵綅缃锛屽叾浣欑殑鐢ㄦ埛钖嶃佸瘑镰佸拰鍓岖紑锛堚渨xz_钬濓级镙规嵁𨱍呭喌淇鏀
IndexAction.class.php绀轰緥浠g爜
<?php
class IndexAction extends Action {
public function index(){
$r =
M()->query("select * from proct");
print_r($r);
}
}
ThinkPHP 鍐呯疆浜嗘娊璞℃暟鎹搴撹甸梾灞傦纴鎶娄笇钖岀櫩鏁版嵁搴撴搷浣滃皝瑁呰捣𨱒ワ纴鎴戜滑鍙ч渶瑕佷娇鐢ㄥ叕鍏辩櫩Db 绫
杩曡屾搷浣滐纴钥屾棤闇阍埚逛笇钖岀櫩鏁版嵁搴揿啓涓屽悓锏夸唬镰佸拰搴曞眰瀹炵幇锛娈b 绫讳细镊锷㈣皟鐢ㄧ浉搴旂櫩鏁版嵁搴挞┍锷㈡潵澶
鐞嗐傜洰鍓岖櫩鏁版嵁搴揿寘𨰾琈ysql銆丼qlServer銆丳gSQL銆丼qlite銆丱racle銆両base銆丮ongo锛屼篃鍖呮嫭瀵
PDO 锏挎敮鎸侊纴濡傛灉搴旂敤闇瑕佷娇鐢ㄦ暟鎹搴掳纴蹇呴’閰岖疆鏁版嵁搴撹繛鎺ヤ俊鎭锛屾暟鎹搴撶櫩閰岖疆鏂囦欢链夊氱嶅畾涓挎柟寮,涓嶆敮鎸丄CCESS鏁版嵁搴
Ⅲ c语言连接Access数据库如何实现标准的c语言
1、C/C++与数据库交互,像 mssql/ mysql / oracle 等,一般都有成熟的第三方库,这些库里面无非就是封装了与数据库通讯的方式和通讯协议搜一下要用的数据库相关的 API 文档,会说得很清楚任何文件都是二进制数据,关键是数据存储的组织方式通用扩展名的文件,像gif/doc/jpg/wav,格式都是固定的。
2、举个例子,连接SQL:
//打开数据库
strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=%s;JetOLEDB:DatabasePassword=%s"),m_strUnEntryptMdbFilePath,m_strMDBPassword);
//创建连接
HRESULThr=m_pConnection.CreateInstance(_uuidof(Connection));
_ConnectionPtrm_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified);
//声明表单指针
_RecordsetPtrpBandRecordset;
pBandRecordset.CreateInstance(__uuidof(Recordset));
//执行语句
CStringstrSQL(L"SELECT*FROM[Band]");
m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);
//提取某一项例如BandInfo
intiBandInfo=wcscmp(colum,L"BandInfo");
while(!recordsetPtr->adoEOF)
{
var=recordsetPtr->GetCollect(colum);
if(var.vt!=VT_NULL)
strName=(LPCSTR)_bstr_t(var);
recordsetPtr->MoveNext();
}
Ⅳ access数据库能进行事务操作吗
ACCESS数据库不支持事务操作,但是我们可以通过ado类库实现对access数据库的事务操作。
下面举例示范ADO类库实现对ACCESS数据库的事务操作供参考。注意下列VBA代码需要先引用ADO类库
假设有一个团队表teams和团员表members,每个团队编号下面都有自己的团员名单,我们每向团员表添加一位团员时,团队表相应团号的人数就要增加一人,这样就需要进行两个操作,一是团员表追加一条记录,二是团队表对应团队的人数更新为增加一人,这两个操作必须要么全部成功,要不就全部失败,不得存在中间状态,否则记录就不正确了。如何实现?代码如下:
PrivateSubCommand0_Click()
OnErrorGoToErr_Command0_Click
DimcnAsADODB.Connection
Setcn=CurrentProject.Connection
cn.BeginTrans'开始执行事务
'向团员表添加一位团员
cn.Execute"insertintomembers(gid,m_name)values("&团队号码&",'"&团员名称&"');"
'相应id团队的人数增加1人
cn.Execute"updateteamssetpax=IIf(IsNull(pax),0,pax)+1wheregid="&团队号码
cn.CommitTrans'结束事务,确保上述两个操作不会出现一个成功而另一个失败的状况
MsgBox"团员添加成功"
Exit_Command0_Click:
ExitSub
Err_Command0_Click:
MsgBoxErr.Description
ResumeExit_Command0_Click
EndSub
Ⅳ OleDbConnection鏄浠涔
OleDbConnection 鍜 SqlConnection镄勫尯鍒鍦ㄤ簬锛歄leDbConnection阃傚悎浜庤繛鎺ヤ换浣旷被鍨嬬殑鏁版嵁搴掳纸濡侽racle锛孲QL Server锛孉CCESS绛夌瓑锛夛纴钥孲qlConnection鏄涓挞棬鐢ㄦ潵杩炴帴SQL Server(MS SQL)鏁版嵁搴撶殑锛
oledbconnection涓昏佹槸搴旂敤浜巃ccess镄勬暟鎹搴撹繛鎺ワ纴sqlconnection涓昏佹槸阍埚箂ql server鏁版嵁搴撹繛鎺ョ殑鏂规硶銆