通讯录从Database导出vCard格式

简介:

 1  #region  ToVCF
 2       protected   void  btn_outvcf_Click( object  sender, EventArgs e)
 3      {
 4           string  code  =  Request[ " hid_code " ].ToString().Trim( ' , ' );
 5          StringBuilder sb  =   new  StringBuilder();
 6           if  ( ! string .IsNullOrEmpty(code))
 7          {
 8               string  sql  =   string .Format( @" select u_name,u_birthday,u_mobile,U_ZAnimal,u_tel,U_Constellation,u_blood,u_sex,u_email,
 9                                          u_linkadd,u_remark,u_company,u_job,u_companyemail,u_companymobile,u_companytel,
10                                          u_companyfax,u_companyadd,u_postalcode from Mobile_CardInfo where m_id in({0}) " , code);
11              DataView dv  =  zhan.Data.Sql.PubClass.ExecuteDataView( "" , sql);
12               if  (dv  !=   null )
13              {
14                  
15                   foreach  (DataRow dr  in  dv.Table.Rows)
16                  {
17                      sb.Append(ExportVCF(dr));
18                  }                
19              }
20              Response.ContentEncoding  =  Encoding.Default; //  GetEncoding("gb2312");
21              Response.ContentType  =   " text/x-vCard " ;
22               string  rename  =  HttpUtility.UrlEncode( " 通讯录 " , Encoding.GetEncoding( " utf-8 " ));
23              Response.ClearHeaders();
24              Response.AppendHeader( " Content-disposition " string .Format( " attachment;filename={0}.vcf " , rename));
25              Response.Write(sb.ToString());
26              Response.End();
27          }
28      }
29       public   string  ExportVCF(DataRow dr)
30      {        
31          StringWriter stringWrite  =   new  StringWriter();
32          stringWrite.WriteLine( " BEGIN:VCARD " );
33          stringWrite.WriteLine( " VERSION:2.1 " );
34          stringWrite.WriteLine( string .Format( " NAME:{0} " , dr[ " u_name " ])); // 姓名
35          stringWrite.WriteLine( string .Format( " N:;{0};; " , dr[ " u_name " ])); // 姓名
36          stringWrite.WriteLine( string .Format( " FN:{0} " , dr[ " u_name " ])); // 姓名
37          stringWrite.WriteLine( string .Format( " ADR;DOM;PARCEL;HOME:;;{0};;;; " , dr[ " u_linkadd " ])); // 家庭住址
38          stringWrite.WriteLine( string .Format( " ADR;INTL;PARCEL;WORK:;;{0};;;{1}; " , dr[ " u_companyadd " ], dr[ " u_postalcode " ])); // 公司地址 公司邮编
39          stringWrite.WriteLine( string .Format( " BDAY:{0} " , Convert.ToDateTime(dr[ " u_birthday " ].ToString()).ToString( " yyyy-MM-dd " ))); // 生日
40          stringWrite.WriteLine( string .Format( " EMAIL;INTERNET:{0} " , dr[ " u_companyemail " ])); // 商务邮箱
41          stringWrite.WriteLine( string .Format( " EMAIL;PRODIGY:{0} " , dr[ " u_email " ])); // 电子邮件
42          stringWrite.WriteLine( string .Format( " ORG:{0} " , dr[ " u_company " ])); // 公司名称
43          stringWrite.WriteLine( string .Format( " TEL;HOME;VOICE:{0} " , dr[ " u_tel " ])); // 常用固话
44          stringWrite.WriteLine( string .Format( " TEL;WORK;CELL:{0} " , dr[ " u_companymobile " ])); // 商务手机
45          stringWrite.WriteLine( string .Format( " TEL;WORK;VOICE:{0} " , dr[ " u_companytel " ])); // 公司固话
46          stringWrite.WriteLine( string .Format( " TEL;WORK;FAX:{0} " , dr[ " u_companyfax " ])); // 公司传真
47          stringWrite.WriteLine( string .Format( " TEL;PREF:{0} " , dr[ " u_mobile " ])); // 手机号码
48          stringWrite.WriteLine( string .Format( " TITLE:{0} " , dr[ " u_job " ])); // 职位
49          stringWrite.WriteLine( string .Format( " 性别:{0} " , dr[ " u_sex " ])); // 性别
50          stringWrite.WriteLine( string .Format( " 血型:{0} " , dr[ " u_blood " ])); // 血型
51          stringWrite.WriteLine( string .Format( " 生肖:{0} " , dr[ " U_ZAnimal " ])); // 生肖
52          stringWrite.WriteLine( string .Format( " 星座:{0} " , dr[ " U_Constellation " ])); // 星座
53          stringWrite.WriteLine( string .Format( " NOTE:{0} " , dr[ " u_remark " ])); // 备注
54          stringWrite.WriteLine( " END:VCARD " );
55          stringWrite.WriteLine( "" );
56           return  stringWrite.ToString();
57      }    
58       #endregion
复制代码



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2010/12/23/1914783.html,如需转载请自行联系原作者
相关文章
|
29天前
|
Oracle 关系型数据库
19c 开启Oracle Database Vault
19c 开启Oracle Database Vault
17 1
|
13天前
|
人工智能 Oracle 关系型数据库
一篇文章弄懂Oracle和PostgreSQL的Database Link
一篇文章弄懂Oracle和PostgreSQL的Database Link
|
29天前
|
SQL Oracle 安全
Oracle Database Vault Access Control Components
Oracle Database Vault Access Control Components
10 0
|
29天前
|
Oracle 安全 关系型数据库
What Is Oracle Database Vault?
The Oracle Database Vault security controls protect application data from unauthorized access, and helps you to comply with privacy and regulatory requirements. You can deploy controls to block privileged account access to application data and control sensitive operations inside the database using
11 0
|
2月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
100 0
|
5月前
|
Oracle 关系型数据库 数据库
windows Oracle Database 19c 卸载教程
打开任务管理器 ctrl+Shift+Esc可以快速打开任务管理器,找到oracle所有服务然后停止。 停止数据库服务 在开始卸载之前,确保数据库服务已经停止。你可以使用以下命令停止数据库服务: net stop OracleServiceORCL Universal Installer 卸载Oracle数据库程序 一般情况运行Oracle自带的卸载程序,如使用Universal Installer 工具卸载。 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击Universal Installer。 点击之后稍等一会然后会进入进入下图界面,点击卸载产品。 选中要删除的Orac
132 1
|
6月前
|
存储 Oracle 关系型数据库
windows 使用 Oracle Database 19c
Oracle数据库是由美国Oracle Corporation(甲骨文公司)开发和提供的一种关系型数据库管理系统,它是一种强大的关系型数据库管理系统(RDBMS)。它使用表格(表)组织和存储数据,通过SQL语言进行数据管理。数据以表格形式存储,表之间可以建立关系。支持事务处理、多版本并发控制、安全性和权限控制。具有高可用性、容错性,支持分布式数据库和可扩展性。Oracle Corporation提供全面的支持和服务,使其成为企业级应用的首选数据库系统。
61 0
|
11月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2(下)
服务器Centos7 静默安装Oracle Database 12.2(下)
244 0
|
11月前
|
Oracle 安全 关系型数据库
服务器Centos7 静默安装Oracle Database 12.2(上)
服务器Centos7 静默安装Oracle Database 12.2(上)
94 0
|
11月前
|
存储 Oracle 关系型数据库

热门文章

最新文章