global $mdb2;
$v = '';
$r = $mdb2->quote($v, 'text', true);
var_dump($r);
结果是 string(4) "NULL"
而数据库字段是 varchar(50) NOT NULL default '' ,于是乎insert into 失败。
prepare() 函数同样的处理。
没找到有参数可设置,于是只有自己写了个函数来实现
/**
* MDB2:QUOTE() , 当输入空字符串''/"" 时返回字符'',而非NULL
* @param datatype: 'integer', 'timestamp', 'text',
* 'boolean,date', default Automatic
* @param obj $mdb2
* @return string or array
*/
function db_quote($input, $datatype = '', $mdb2 = '') {
if (!$mdb2) { global $mdb2; }
if (is_object($input)) {
die('quote input ERR!');
}
if ('' === $input) { // 全等否则数字0将会被处理!
return "''";
}
elseif (is_array($input)) {
foreach ($input as $k => $v) {
$out[$k] = db_quote($v, '', $mdb2); // 对数组处理忽略$datatype参数
}
}
else {
if ( '' == $datatype) {
$out = $mdb2->quote($input);
}
else {
$out = $mdb2->quote($input, $datatype);
}
}
return $out;
}
分享到:
相关推荐
连接字符串设置为 `"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=ѧ.mdb;PersistSecurityInfo=False"`。 - 如果打开失败,则捕获 `_com_error` 并显示错误消息。 4. **执行 SQL 查询**: - 使用 `pConn->...
数据总数 302791条 电信133 -> 9648 电信153 -> 9828 电信180 -> 9736 电信189 -> 9995 电信181 -> 9713 电信170 -> 1802 电信177 -> 3900 移动134 -> 9742 ...联通176 -> 2390 数据卡145 -> 5937 数据卡147 -> 6427
总之,Visual C++结合ADO为开发者提供了方便的接口,可以高效地对Access数据库进行读写操作。通过理解并熟练运用Connection、Command、Recordset和Parameter对象,可以实现各种复杂的数据库操作。在进行实际开发时,...
本网站有动态留言板,为方便您浏览,浏览前请先建立ODBC数据源,具体步骤如下: 控制面板--------->管理工具----------->数据源(ODBC) ------->用户DNS----->添加--------->Microsoft Access Driver(*.mdb)------...
MDB-RS232专业版测试工具,可以通过威佛MDB-RS232适配器对MDB纸币器(08H),硬币器(30H),非现金支付1(10H),非现金支付2(60H),USB设备(40H),年龄验证设备(68H)进行综合测试。当然下载测试工具之前需要...
130-->9879;131-->10000;132-->9804;133-->9648;134-->9742;135-->10000;136-->9999;137-->9976;138-->9994;139-->9998;145-->5883;147-->6412;150-->10000;151-->10000;152-->10000;153-->9818;155...
标题中的“vc++读写mdb程序”指的是使用Visual C++编程语言操作Microsoft Access数据库的示例项目。在Microsoft Access中,mdb是数据库文件的扩展名,它基于Jet数据库引擎,适用于存储和管理中小规模的数据。这个...
标题中的“MDB-Cashless-Test.rar_MDB-Cashless-Test_mdb-rs232_mdb测试工具_vendin”提到了几个关键概念,包括MDB协议、非现金支付、RS232-MDB适配器、测试工具以及与自动售货机相关的应用。这些关键词都是IT行业中...
使用说明:首先在控制面板的管理工具里面双击数据源(ODBC)->系统DSN->点击添加->Microsoft Access Driver(*.mdb)->点击完成->数据源名为Telphone->点击选择按钮->选择TelphoneBook(Access文件)点击确定即可;...
该系统充分利用了Microsoft Access作为后台数据库,存储和处理图书、借阅者以及借阅信息等数据。以下是关于这个课程设计项目的一些关键知识点: 1. **Visual C++**: VC++是一种强大的集成开发环境,由Microsoft开发...
设置数据库连接字符串,例如,如果你的Access数据库名为"MyDatabase.mdb",存储在当前目录下,连接字符串如下: ```cpp CString connStr = L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./MyDatabase.mdb;...
例如,"4D 44 42 2D 52 53 32 33 32 20 56 34 2E 32 20 63 6F 6D 70 61 74 69 62 6C 65 0D 0A"在ASCII格式下显示为"MDB-RS232 V4.2 compatible",这是设备自检的一部分。数据中的其他部分如"30 08 20 30 30"和"30 30...
cout << "ID: " << rs->Fields->GetItem("ID")->Value , Name: " << rs->Fields->GetItem("Name")->Value , Age: " << rs->Fields->GetItem("Age")->Value ; rs->MoveNext(); } ``` 写入数据时,可以在打开的...
rs->EOF) { // 如果记录集不为空 CString strField1 = rs->Fields->GetItem("FieldName1")->Value; // 获取字段"FieldName1"的值 CString strField2 = rs->Fields->GetItem("FieldName2")->Value; // 获取字段...
1. 创建Connection对象,设置数据库引擎类型和连接字符串,例如: ```cpp CoInitialize(NULL); ADODB::ConnectionPtr conn = NULL; conn.CreateInstance(__uuidof(ADODB::Connection)); conn->ConnectionString = ...
3. 设置连接字符串:例如,`BSTR connStr = _bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\myDatabase.mdb;");` 4. 打开连接:`conn->Open(connStr, "", "", adConnectUnspecified);` ### 执行SQL...
总的来说,VC++通过ADO访问Access数据库涉及的关键知识点包括:创建和管理`Connection`对象,构造连接字符串,使用`Recordset`对象执行SQL语句,以及操作记录集中的数据。这些基本操作构成了数据库应用程序的基础,...
在这个例子中,我们将探讨如何使用VC通过ADO实现对Access数据库的读、写、插入和删除操作。 首先,为了使用ADO,你需要在你的VC项目中包含必要的头文件,如`#include <adodb.h>`,并链接相应的库,如`libadodbc.lib...
本实践项目主要涵盖了如何利用C++编程语言来实现对Access数据库的基本操作,包括添加、删除和修改数据等功能。 首先,要连接Access数据库,你需要使用Microsoft的ActiveX Data Objects (ADO)库。ADO是COM组件,提供...