在IOS开发中遇到数据库保存很正常。但是要保存的对象中如果不全是基本数据类型,或者不是数据库是支持的类型,是不是瞬间石化了。
例如:
在一个Message对象中包含一个Attatchment对象,现在要求是每个Message要保存起来,选择sqlite数据库保存是不是很正常(反正我是用的他),但是sqlite中并不支持Attatchment类型,怎么搞???
法一:把Attatchment中的所有属性放到Message中,没有问题,也是一个很好的办法,但是这样是不是有点牵强呢?
法二:也是本人今天要介绍的方法,就是对象归档成NSData后在存储。查询出来的时候在解档一下就OK了。废话少说,直接给出代码(数据库存储用到了第三方库FMDB):
给出Attatc...
1、引言 数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。 2、建立后台数据库 假定处理的是图片新闻,那么我们可以建立相应的数据库及数据表对象。我们要存取的数据表结构的SQL脚本如下所示: if exis...
1、引言
数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。
2、建立后台数据库
假定处理的是图片新闻,那么我们可以建立相应的数据库及数据表对象。我们要存取的数据表结构的SQL脚本如下所示:
if ...
一.前言:
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点:[newsad][/newsad]
◆存储过程允许标准组件式编程
◆存储过程能够实现较快的执行速度
◆存储过程能够减少网络流量
◆存储过程可被作为一种安全机制来充分利用
本文作者将向大家介绍.NET数据库应用程序中存储过程的应用,以及如何将它与ADO.NET中的SqlDataAdapter对象、DataSet对象等结合...
独立存储(Isolated Storage)是Silverlight 2中提供的一个客户端安全的存储,它是一个与Cookie机制类似的局部信任机制。独立存储机制的APIs 提供了一个虚拟的文件系统和可以访问这个虚拟文件系统的数据流对象。Silverlight中的独立存储是基于 .NET Framework中的独立存储来建立的,所以它仅仅是.NET Framework中独立存储的一个子集。
Silverlight中的独立存储有以下一些特征:
1.每个基于Silverlight的应用程序都被分配了属于它自己的一部分存储空间, 但是应用程序中的程序集却是在存储空间******************享的。一个应用程序被服务器赋给了一个唯一的固定的标识值。基于Silverlight的应用程序的虚拟文件系统现在就...
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; using System.Data.OleDb; using System.Web.Services.Protocols; namespace SFXTWebService { /// /// Service1 的摘要说明。 /// public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN: 该调用是 ASP.NET Web 服务设...
如何把二维数组存储到cookie中呢?
先把数组转换成字符串,要用时再去掉斜线(为什么会出现斜线呢?)转换回来
a.php
<?
$cart_info[0][0] = "1123";
$cart_info[1][0] = "5334521";
$cart_info[1][2] = "df";
$cart_info[4][2] = "fefe";
setcookie("xia",serialize($cart_info));
?>
b.php
<?
$other = StripSlashes($_COOKIE['xia']);
print_r(unserialize($other));
?>...
<?
$DB_SERVER = "server"; /* database server hostname */
$DB_NAME = "dbname"; /* database name */
$DB_USER = "root"; /* database user */
$DB_PASS = "*************"; /* database password */
$DB_SELECT_DB = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
function sess_open($save_path, $session_name) {
global $DB_SERVER, $DB_NAME, $DB_USER, $DB_PA...
将程序输出为其他的语言是程序员喜爱的事情之一,在WEB上我们有两个不同编程环境:客户端(浏览器)和服务器端,根据HTTP协议的定义,我们可以在编写在客户端输出其他语言的服务端程序,我们选择了作为服务端语言、javascript作为客户端输出。在本问中我们将向您演示这样用该方案把数据存储在客户端,并且在诸如:聊天室、新闻系统或其他您想实现的应用上达到服务端和客户端(浏览器)的最小的数据传输。 要求以下支持: PHP4 JavaScript Frames 主要思想: 我们一...
使用ASE已经有很长时间了,在使用过程中,不断深入的了解了它的各种功能,但是对于扩展存储过程基本上没有书籍中有讲到过,论坛上似乎也没有出现过此类问题,但是它确实能够解决部分特殊问题,而且功能是十分强大的,我专门对此进行了研究,现将结果与大家共享.
有时候大家可能会有这种需求,就是需要对服务器进行某些操作,比如拷贝文件,启动或者停止某些服务和程序等.一般这种情况下,PB就无能为力了,只有辅助于众多的API函数,并且往往要通过服务器操作系统复杂的权限控制,然后还要执行某些操作,这不是一般PB开发者能够从容做到的.扩展存储过程为我们提供了一个便利的方法.
1.常见的扩...
存储过程的特点 Sybase的存储过程是集中存储在SQL Server中的预先定义且已经编译好的事务。存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。 存储过程的性能特点如下: ·存储过程是预编译过的,这就意味着它与普通的SQL语句或批处理的SQL语句不同,当首次运行一个存储过程时,SQL Server的查询处理器对其进行分析,在排除了语法错误之后形成存储在系统中的可执行方案。由于查询处理的大部分工作已经完成,所以存储过程执行速度很快。 ...
今天在看管理员手册的时候,Oracle提到了索引组织表列的顺序问题。于是做了个测试验证了一下。
由于索引组织表是根据索引的格式存储的表,所以主键的键值列应该存储在前面,随后才是表中的其他列,下面建立一个索引组织表,将主键列放在后面:
SQL> CREATE TABLE T_INDEX_ORG (NAME VARCHAR2(30), ID NUMBER PRIMARY KEY)
2 ORGANIZATION INDEX;
表已创建。
SQL> DESC T_INDEX_ORG
名称 是否为空? 类型
----------------------------------------------------------------- -------- ----------------
NAME VARCH...
为了保持其最强大和最灵活数据库的地位,Oracle在最近发布的几个版本里一直都在创建新的机制来对表格和索引的存储进行简化和分块。从Oracle8i开始,Oracle开始在tablespace内部将对象管理进行自动化。第一个增强的地方原来叫做本地管理tablespace(或者简写作LMT)。在LMT里,Oracle将tablespace里的信息从数据字典的表格空间里移出去,而直接将其保存到tablespace自身里。这在Oracle9i里已经成为了一个事实的标准,因为它减轻了数据字典的负担。
表格空间的第二个主要增强的是自动分段空间管理(ASSM),它首次出现在Oracle9i里。有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储扩...
1、我使用insert语句没问题,能够正常插入汉字。
2、把insert语句移到Procedure中后,就无法插入汉字了。在客户端软件中插入的汉字总是为乱码,英文和数字没问题。
3、如果在jdbc中调用这个Procedure总是报错:
在mysql 5.0下错误为:Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'v_title' at row 1,这个提示完全是错误的。
在mysql 5.2下错误为:Cause: java.sql.SQLException: Incorrect string value: 'xBAxBAxD7xD6xB0xA1' for column 'v_title' at row 1 这个提示还马马虎虎象样。
存贮过程内容如下:
DELIMITER $$
DROP PROCED...
Introduction 简介MySQL 5.0 新特性教程是为需要了解5.0版本新特性的MySQL老用户而写的。简单的来说是介绍了“存储过程、触发器、视图、信息架构视图”,我打算每天一部分,来连载这个教程.如果你想看一次看完PDF版本的教程,请到down.phpv.net下载.在此感谢译者陈朋奕的努力.
希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。为了达到这样的目的,我会从每一个细节开始慢慢的为大家建立概念,最后会给大家展示较大的实用例,在学习之前也许大家会认为这个用例很难,但是只要跟着课程去学,相信很快就能掌握。
Conventions and Styles 约定和编程风格每次我想要演示实际代码时,我会对mysql客户端的...
CREATE TABLE [TestTable] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO 插入数据:(2万条,用更多的数据测试会明显一些) SET IDENTITY_INSERT TestTable ON declare @i int set @i=1 while @i<=20000 begin insert ...