Discuz中如何修改页面上的提示、关键字等固定文字 | 注册原因等字样及页面提示怎么修改

论坛根目录\source\language\中,是Discuz系统预留关键字定义的地方,这些预留关键字不是通过数据库动态获取的,因而无法在后台更改。

比如论坛开启了“人工审核”功能,那么在注册时就会多了“注册原因”项。那么我如何才能修改“注册原因”这几个字呢?

方法:打开论坛根目录\source\language\member\lang_template.php,就可以发现下面两行:

‘register_message’ => ‘注册原因’,
‘register_message1’ => ‘你填写的注册原因会被当作申请注册的重要参考依据,请认真填写。’,

修改这两行即可。注意,修改保存文件后不会立即生效,需要在后台清空缓存后才会生效。

 

其他地方的预留关键字也是如此,都在    论坛根目录\source\language\    里定义。

何为DLL Hell?

DLL噩梦

DLL HELL字面意思是DLL”灾难”,是由于com组件升级引起的程序不能运行的情况。

 COM对象常常被编译为dll文件。COM组件模型虽然很不错,但是它自身存在致命的缺陷。由于COM对象可以被重用,这样多个程序可能使用一个COM对象 ,如果这个COM组件升级了,就很有可能出现其中某个程序无法使用新组件,导致程序不能运行的情况,这种情况被称为“DLL HELL”。有时安装了新的软件后很多其他的软件都无法使用,往往就是这个原因。
Windows系统是以Dynamic Link Library(动态链接库)的方式让系统和应用软件共用所有的系统文件的。
DLL Hell的意思就是因为系统文件被覆盖而让整个系统像是掉进了地狱(什么软件都不能运行了)。

可能的原因

很多windows的应用程序在发布的时候会将它们所有要用到的DLL都一起打包发布,很多应用程序的安装程序都不是很成熟,经常在安装的时候将一个旧版本的DLL覆盖掉一个更新版本的DLL,从而导致其他的应用程序运行失败。有些安装程序比较友好,如果碰到需要覆盖新版的DLL时,它会弹出一个对话框提醒用户是否覆盖,但是即使这样,有些应用程序只能运行在旧版本的DLL下,如果不覆盖,那么它可能无法在新版的DLL中运行。总的来说,有三种可能的原因导致了DLL Hell的发生:

一是由使用旧版本的DLL替代原来一个新版本的DLL而引起的。这个原因最普遍,是Windows 9X用户通常遇到的DLL错误之一。

二是由新版DLL中的函数无意发生改变而引起。尽管在设计DLL时候应该向下兼容,然而要保证DLL完全向下兼容却是不能的。

三是由新版DLL的安装引入一个新的Bug。

C语言学习视频第1集 | 开始做第一个C语言的程序

有些朋友反映视频看不清楚,下面提供两个视频源文件下载地址,非常清晰:

DBANK网盘下载地址:C语言也能干大事全集

VeryCD(电驴)资源地址:《计算机自学宝典之-九阳神功》(c语言也能干大事aspNET编程开放课程单片机java教程PDF电子书WEB开发eclipse实战C#rupeng软件公开课.net培训)更新第11季.net视频打包更新[压缩包]

注:有些朋友反映在线观看的视频看不清楚,而提供的DBANK下载地址和电驴下载地址下载速度又太慢。如果大家有相似情况,可以在本文下方评论中留下邮箱地址,注明“需要C语言学习视频教程:C语言也能干大事,邮箱地址xxxx@xxx”。我会在看到评论后将视频给大家发送到邮箱。

高等数学_学习资源整理_精品课程+视频教程+学习建议

同济大学精品课程
北京信息科技大学-高等数学精品课程
朱士信合肥工业大学2008年高等数学国家级精品课程
国家精品课程资源网 — 高等数学专区
天津大学精品课程之高等数学
武汉大学高等数学精品课程
李辉来吉林大学2004年高等数学国家级精品课程
【优酷】高等数学一视频教程全集 很老的一系列视频。开头注的是中央广播电视大学。
【优酷】蔡高厅高等数学 视频共189集,总时长145小时。
【六维空间下载】[高等数学(蔡高厅主讲)][rm][考研] 共188讲。蔡高厅老师将复杂抽象的高等数学讲的深入浅出,简单易懂,为我们打下扎实的基本功,全面提升我们的数学素养.不但让我们会做题,更让我们很好的理解了高数.大量的例题讲解全面地开拓了我们的思维,掌握大量的解题技巧.视频课程图像清晰,老师教学生动,板书详细,由浅入深,深受同学好评。
【六维空间下载】[同济高等数学(第六版)及习题全解指南][pdf][扫描版带书签] 大小:30.75 MB
【六维空间下载】[高等数学课程视频][flv][同济第五版] 大小:2.68 GB。这是北航老师柳重堪2000年的高数课程视频。
【六维空间下载】[高等数学总复习图册][09考研数学必备图册] 大小:185.61 MB
【六维空间下载】[高等数学][csf rar][吉林大学] 大小:6.2 GB,讲得很详细(全160讲+辅导5讲)
【六维空间下载】[合肥工业大学国家级精品课程高等数学][wmv,word,JPEG][教学录像+电子教案+习题讲解+历年试题+网络课件] 大小:643.4 MB
【六维空间下载】[上海交大精品课程–高等数学][ASF][乐经良教授] 大小:7.42 GB
【六维空间下载】[蔡高厅高等数学全集][asf/pdf] 大小:18.75 GB,适合考研或者自学用
【电驴下载】《蔡高厅高等数学 上 下册 RM压缩清晰版本》 大小:6.3GB
【电驴下载】《考研数学视频教材之蔡子华-高等数学A》(考研数学视频教材) 大小:456.57MB
【电驴下载】《高等数学 上、下册》中国石油大学大学 成人(网络)教育学院 大小:4.73GB
【电驴下载】《大学高等数学(大一上下学期)》(Mathematics)[光盘镜像] 大小:1.03GB
【电驴下载】《高等数学答案》 大小:79.89MB。同济大学的高等数学是当前高等数学课本中见的较多的一本,这是关于它课后题的解析,每道题都很详细。
【电驴下载】《蔡高厅高等数学 上 下册 RM压缩清晰版本》 大小:6.26GB。
【电驴下载】 《吉大高等数学自考可用160讲+辅导5讲》同济大学第四版含书 大小:6.16GB。吉大高等数学-同济大学出版=第四版(160讲+辅导5讲+高数工本手抄笔记+课本)。
【电驴下载】《柳重堪高等数学多媒体CAI课件》[光盘镜像] 大小:376.03MB
【电驴下载】《北京航空航天大学柳重堪教授高等数学 下册》[47/47][asf] 大小:3.67GB。北京航空航天大学柳重堪教授的《高等数学》的确讲得很好!本人没念过大学,但对计算机很爱好因此对《高等数学》也有非常喜爱!
【电驴下载】《高等数学辅导系统&高等数学习题课学习系统》(Mathematic Excercies and Study System)[ISO] 《高等数学习题课学习系统MESS》(Mathematic Excercies and Study System)是国家“九五”重点科技攻关项目——计算机辅助教学软件研制开发与应用的成果,适用于高等院校非数学专业的本、专科学生的高等数学习题课教学及学生课后练习、自测等。

PHP使用ODBC连接数据库(转载)

示例:使用 ODBC 连接 PHP

接下来,您必须安装 PHP ODBC 驱动程序。通过将 iODBC 或 unixODBC 添加到 PHP 编译脚本中(非常复杂),或者通过安装 PHP-ODBC 库,都可以实现 PHP ODBC 驱动程序的安装。在基于 apt 的发行版中,可以使用以下命令:
[shell]sudo apt-get install php5-odbc[/shell]

可通过在交互模式下运行 PHP (php -a) 来测试流量。这将打开 PHP 交互控制台,在那里您可以使用与清单 1 中的示例类似的方式进行交互。
清单 1. 命令行 ODBC 连接

[shell]
php > $conn = odbc_connect(
“DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=phpodbcdb”,
“username”, “password”);
php > $sql = “SELECT 1 as test”;
php > $rs = odbc_exec($conn,$sql);
php > odbc_fetch_row($rs);
php > echo “\nTest\n—–\n” . odbc_result($rs,”test”) . “\n”;

Test
—-
1
php > odbc_close($conn);
php > exit;
[/shell]

让我们来分析一下清单 1 中的代码:

  1. 使用 PHP 中的 odbc_connect() 函数建立一个连接。该函数将 ODBC 连接器字符串、用户名称和密码作为参数。连接器字符串应与 odbc.ini 文件匹配,以确保它与预先安排的相符。
  2. 将一个变量实例化为字符串,该字符串代表了您的 SQL 语句。
  3. 使用 odbc_exec 函数执行该 SQL 语句,此函数将接受您的连接和您的 SQL 字符串,并返回一个结果集。
  4. 使用 odbc_fetch_row() 仅从结果集中提取一行结果,该函数接受作为参数的结果集。这是一个迭代函数,这意味着如果您再次调用它,会得到结果集中的下一个结果(依此类推,直到结果集中没有结果,如果没有结果,则返回 false)。
  5. 使用函数 odbc_result(),该函数接受结果集和列名称(字符串形式),并返回行迭代程序所指向的行中的单元值。
  6. 使用 odbc_close 函数关闭 ODBC 连接,该函数接受连接本身。
  7. 通过发送 exit 命令退出 PHP 交互模式。

这方法很有用,但在 Web 应用程序级别上不常使用。如果您想在客户端/服务器样式的 Web 浏览模式下测试流量,则需要安装一台 Web 服务器,比如 Apache 或 Lighttpd。(如果运行的是 Linux 系统,则必须确保提供了用于 Web 服务的 PHP 模块,否则,PHP 将无法运行。)

清单 2 展示了通过 Web 服务器执行此操作时使用的相同技术。PHP 代码类似于清单1中使用的代码,但它通过 XHTML 而不是命令行导出结果。
清单 2. 基于 XHTML 的 ODBC 连接的示例
[php]
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


PHP and ODBC: XHTML Example 1



< ?php $conn = odbc_connect( "DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=phpodbcdb", "username", "password"); if (!($conn)) { echo "

Connection to DB via ODBC failed: “;
echo odbc_errormsg ($conn );
echo “\n”;
}

$sql = “SELECT 1 as test”;
$rs = odbc_exec($conn,$sql);
echo “

“;
echo “

“;
while (odbc_fetch_row($rs))
{
$result = odbc_result($rs,”test”);
echo “

“;
}
odbc_close($conn);
echo “

Test
$result

“;
?>


[/php]

该清单在清单1的基础上添加了一些内容:现在可以完全将 odbc_fetch_row() 函数用作迭代函数,只需将它放在 while 循环中即可。这意味着,如果 SQL 稍微有点复杂,并且要查询一个表来查找多个结果,那么该函数会在所呈现的 XHTML 表中创建一个新行。

有许多类型的 XHTML 和 HTML,它们配备有各种数量的浏览器支持,且易于使用。清单2生成了标准化的 XHTML 1.0 Strict,它是 XHTML 用来开发以数据为中心的、强大的、跨浏览器的文档的最佳形式之一。

PHP-ODBC 编程

ODBC 函数有 4 种主要类型:用于连接、查询、提取数据和错误报告的函数。查询函数能够处理标准化数据库事务,以便创建、读取、更新和删除数据(通称 CRUD 操作)。

连接函数

每个已开始的进程都必须有一个完结;否则,就会导致内存和处理器问题。所以,您要确保已经关闭了数据库连接。

如您已经看到的,odbc_connect() 函数接受 ODBC 友好的链接字符串、数据库用户名称和相关密码。它返回一个您可以在整个 PHP 程序中使用的连接对象。以下代码显示了一个示例:
[php]
$connection = odbc_connect($connection_string, $username, $password);
[/php]
在前面的示例中还可以看见,odbc_close() 函数接受了一个连接对象,并终止了与 ODBC 和数据库的通信。我要强调的是,您必须关闭您的链接,否则会有过多的连接到您的数据库的连接,此外,您还必须重启您的数据库管理系统,在更糟糕的情况下,您甚至需要重启机器。以下是该函数的运行方式:odbc_close($connection);。

查询函数

前面曾使用过 odbc_exec() 函数,它接受了一个连接对象和一个 SQL 字符串,执行该函数后,会返回一个结果集对象。该结果集对象是一个复杂对象,它通常位于数据库管理系统的存储器中,并且只能通过与之交互的函数辨认。odbc_exec() 行与以下代码类似:[php]$resultset = odbc_exec($connection, $sql);[/php]

在将未知变量注入 SQL 中时,odbc_prepare() 和 odbc_execute 函数非常有用。odbc_prepare() 函数为数据库管理系统准备了一个 SQL 语句,然后 odbc_execute() 函数会在变量中发送该语句。这意味着它比使用 PHP 建立一串 SQL 字符串并通过 odbc_exec() 发送 SQL 语句更强大、更安全、更有效。将这些函数放在一起时,它们看起来如下所示:
[php]
$resultset = odbc_prepare($connection, $sql);
$success = odbc_execute($resultset, $variables);
[/php]

清单 3 是一个很好的示例,创建它是为了根据位置和出生日期变量来搜索用户表中的用户。请注意 SQL 字符串中的问号 (?),它表示odbc_execute() 函数的串行数组中定义的变量。
清单 3. 使用 prepare 和 execute 命令实现 SQL 变量注入
[php]
$location = “London”;
$mindateofbirth = time() – 567648000; /* i.e. 18 years ago from now */
$resultset = odbc_prepare(
$connection,
“SELECT * FROM user WHERE location = ? AND dateofbirth < = ?" ); $success = odbc_execute($resultset, array($location, $mindateofbirth)); [/php] 提取函数 odbc_fetch_row() 函数接受来自某个查询的结果集,并将迭代器指针从一行转向下一行。此函数常常与 odbc_result() 函数结合使用,以提取各种单元格的值: [php] odbc_fetch_row($resultset); [/php] 在前面的示例中,odbc_result() 函数接受了一个 $resultset 和一个列名称字符串,并返回某个单元格的值。此函数可以与odbc_fetch_row() 函数结合使用,以指向结果集中的特定行: [php] $value = odbc_result($resultset,"columnname"); [/php] odbc_fetch_array() 函数在某些地方类似于用来从查询结果集中提取数据的迭代函数。但是,在这里,它返回了一个代表行的数组, 并使用列名称作为键,使用单元格值作为值: [php] $rowarray = odbc_fetch_array($resultset); [/php] 与 odbc_fetch_array() 函数类似,odbc_fetch_object() 提取代表行的面向对象的结构。它将列名称作为对象属性,并将单元格值作为属性值: [php] $rowobject = odbc_fetch_object($resultset); [/php] 此函数在打印 HTML 形式的结果集时非常有用。它只是简单地呈现结果,但在原型制作或调试时很有用: [php] odbc_result_all($resultset); [/php] odbc_num_fields() 函数是一个相当不错的函数,它只接受结果集,并会告诉您结果集中的行数: [php] $numberofrows = odbc_num_rows($resultset); [/php] 问题解决和调试 PHP ODBC 有两个得心应手的函数,其中一个是 odbc_error(),如果发生错误,它会返回错误代码,如果没有发生错误,则返回 false;另一个函数是 odbc_errormsg(),它返回用户友好的消息。您可以组合使用这两个函数,从而形成一个简单的错误消息序列: [php] if (odbc_error()) { echo "I've found a problem: " . odbc_errormsg($conn); } [/php] 如果在开发的时候出错,您会获得另一个提示,不要害怕向导致问题的行附近添加打印语句,当然,在显示其他行时,系统会为您提供删除这些 “调试行” 的权利。请注意下面的 PHP 函数,它通常会在关键时候为您伸出援手: [php] print_r($variable); [/php] 这个简单的函数接受任何变量,并将它显示在屏幕上。变量可以像一个整数或字符串那样简单,也可以像多维数组或对象那样复杂。 本文引用自http://www.ibm.com/developerworks/cn/opensource/os-php-odbc/

网页实时更新 | http监听实时变化 | 邮件ajax异步通知| 聊天室原理

我们如果在网页上显示实时性较高的内容,比如证券数据变化,或者新邮件到来时,用户不必刷新浏览器即可弹出收到新邮件的提示。那么服务器如何发送消息通知浏览器呢?其实,网页聊天室就是类似的一个应用。
下面引用一篇文章介绍网页聊天室实现原理,引自小小研究院《[原创] 网页聊天室的原理》

  目前,无论是网页游戏、论坛博客、电子商场,随处都可以看到web聊天室。

web聊天室的实现方法有多种,包括:基于ajax技术的实现,基于Comet(Pushlet)技术的实现,基于XMPP协议的实现,以及基于flash的XmlSocket和远程共享对象的实现。

(1) 基于ajax技术的实现。

ajax(异步JavaScript和XML,Asynchronous javascript and xml),它的作用就是可以实现页面与服务器端的无刷新交互。用ajax来实现web聊天室的基本原理是:在页面上每隔一段时间就通过ajax从服务器中获取数据,然后更新页面显示。这种方法简单明了,缺点是实时性不高。

(2) 基于Comet技术的实现。

Comet 是一种新的 Web 应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求较高的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。

Pushlet是一种comet实现(Pushlet 是开源的Comet 框架):在Servlet机制下,数据从服务器的Java对象直接推送(push)到客户端的页面,而无需任何Java applet或者插件的帮助。它使server端可以周期性地更新client的web页面,这与传统的request/response方式不同。

Pushlet基于HTTP流,这种技术常常用在多媒体视频、通讯应用中,比如QuickTime。与装载HTTP页面之后马上关闭HTTP连接的做法相反,Pushlet采用HTTP流方式将新数据源源不断地推送到client,再此期间HTTP连接一直保持打开。有关如何在Java中实现这种Keep-alive的长连接请参看Sun提供的《HTTP Persistent Connection》和W3C的《HTTP1.1规范》。
(3)基于XMPP协议的实现

XMPP(可扩展消息处理现场协议)是基于XML的协议,是专为及时通信系统设计的通信协议,用于即时消息以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。著名的开源聊天系统服务器Openfire就是基于XMPP协议的Jabber服务器。

可以通过Flash或ajax与Jabber服务器进行交互,实现webIM的功能,

(4)基于flash的XmlSocket的实现

Flash Media Server是一个很强大的流媒体服务器,它基于rtmp协议,提供了强壮的流媒体交互功能。在FMS中,提供一种远程共享对象(SharedObject)的机制,客户端可以创建并连接到服务器端的远程共享对象。可以有很多个客户端连接到同一个远程共享对象中,任何一个客户端对共享对象进行了修改,服务器都会将共享对象的修改信息发送给所有其他连接到这个共享对象的客户端。这种远程共享对象的机制可以很方面地实现以下功能:·    远程控制幻灯片放映  ·    文字聊天  ·    网络对战  ·    远程选择和播放歌曲  ·    现场拍卖  ·   客户服务应用程序。

远程共享对象很适合用于实现web聊天室中的群聊功能。为每一个群都建立一个远程共享对象,这样的话,任何用户在群上发信息,就可以通过服务器自动发送到所有的群成员。

用远程共享对象来实现单聊是不实际的。对应单聊的实现,我们需要借助socket。客户端通过socket服务器与其他客户端进行私聊。聊天信息通过socket服务器进行转发。

这种方式是效率最高的web聊天室实现方式。

UCenter info: Can not connect to MySQL server Error:Access denied for user…错误解决办法

UCenter info: Can not connect to MySQL server
Error:Access denied for user ‘******’@’localhost’ (using password: YES)
Errno:1045

为了隐藏本站所用数据库用户信息,将上方错误提示中的数据库用户名改为了******。

问题背景:由于种种原因,更换了主机。在迁移bbs后,出现了这个问题。不解之处在于,已经更改了bbs根目录下config目录中的config_global.php和config_ucenter.php两个配置文件中的配置信息。

解决办法:在uc_server目录下,有一个data目录,data目录下面有一个config.inc.php文件。这个文件中也包含了数据库的配置信息。将其改为新主机数据库的配置信息后,就可以正常访问ucenter了。

笔者(人人学习网)已经成功迁移DiscuzX2论坛多次,并且成功将一大型BBS由Discuz7.2转换到DiscuzX2。所以,在这方面有疑难无法解决而着急的朋友可以联系我的QQ,363165133。非常乐意与大家进行学习交流。

wordpress 插入图片 无法显示

我也碰到了问题,网上的答案主要是将 后台 – 设置 – 杂项中的文件上传路径改为wp-content/uploads。

但好像这个是wordpress较老版本存在的一个问题。

我现在用的版本默认的就是wp-content/uploads。

最终,发现问题出在:

上传的图片名为中文。将图片文件名修改为中文后再上传,一切正常。

ASP 500错误 解决办法

给一客户网站接入支付宝接口,本来很简单的一个事,却因为回调页面老是出现HTTP 500错误而无法解决。

今天早晨换了个浏览器,终于知道怎么回事了,是程序本身的一个错误,包含文件时的路径不对。

所以,当大家碰到ASP程序的500错误时,先不要尝试网上介绍的那些这是出于IIS本身问题的办法。

我的建议是:换上谷歌浏览器访问出错页面

给大家两个截图,上面的是谷歌浏览器访问错误页面,下面的是用IE浏览器访问同一个错误页面:


所以,对于开发人员来说,谷歌浏览器是非常有用的。它清晰地指出了错误在哪儿,而不是简单地返回给你一个500错误提示。

sqlite官方提供的shell命令行程序sqlite3.exe如何使用及操作数据库详解

不多作解释,开始介绍。

1、创建数据库

打开命令行窗口,确保当前路径能够执行sqlite3.exe。不明白的童鞋可以网上搜一下windows下环境变量path的设置。

sqite3 DBNAME.EXT

执行上面的命令,其中DBNAME为你要命名的数据库名,EXT为扩展名,扩展名有没有都可以。执行命令后,并不会立即生成文件。

2、最重要的命令

.help

进入sqlite命令模式下后,执行.help这个命令,就会显示出所有可用的操作。任何时候忘记了命令,都可以去查查。

到此,先说明两点

一、凡是.help中显示列表中的命令,均不需要分号结尾

二、凡是sql语句,均需要加分号结尾表示该语句结束,然后回车执行

好,继续介绍命令。

3、创建一个数据表

create table tablename(fieldname fieldtype[,…]);

和一般的sql语法差不多,只是写表结构的时候,字段名fieldname要写在字段类型fieldtype前面,同时注意分号作为sql语句结尾。

在成功建表后,在sqlite.exe目录下已经生成了你的数据库文件。如果你不想将文件建在sqlite.exe目录下,可以在创建数据时这样书写,举个例子:

sqite3 D:\test.db

也就是,将数据库文件起名test.db并放在d盘根目录下。

4、关于执行select语句后不显示结果

在.help帮助列表中,有一个.output stdout,这个命令的意思是将结果输出到屏幕上。

如果你确认已经在表中插入数据,select却未显示结果,那么就执行.output stdout。然后再select。

5、.help列表

sqlite> .help

.backup ?DB? FILE Backup DB (default “main”) to FILE 备份数据库到文件
.bail ON|OFF Stop after hitting an error. Default OFF 开启/关闭遇错停止,默认关闭
.databases List names and files of attached databases 显示数据库列表
.dump ?TABLE? … Dump the database in an SQL text format 导出数据到sql文件
If TABLE specified, only dump tables matching LIKE pattern TABLE.
.echo ON|OFF Turn command echo on or off 开启/关闭命令回显
.exit Exit this program 退出sqlite
.explain ?ON|OFF? Turn output mode suitable for EXPLAIN on or off.With no args, it turns EXPLAIN on. 开启/关闭执行命令后是否显示一些详细信息,建议开启
.header(s) ON|OFF Turn display of headers on or off 开启/关闭显示头部,例如select时的表头
.help Show this message
.import FILE TABLE Import data from FILE into TABLE 将某文件中的数据导入到指定数据表
.indices ?TABLE? Show names of all indices.If TABLE specified, only show indices for tables matching LIKE pattern TABLE.
.load FILE ?ENTRY? Load an extension library
.log FILE|off Turn logging on or off. FILE can be stderr/stdout 开启/关闭日志记录,并可选择日志记录到文件或屏幕
.mode MODE ?TABLE? Set output mode where MODE is one of: 输入模式设置,比如,配合.output fname将数据直接按html格式输出到文件
csv               Comma-separated values
column      Left-aligned columns. (See .width)
html            HTML <table> code
insert         SQL insert statements for TABLE
line              One value per line
tabs             Tab-separated values
tcl                TCL list elements
.nullvalue STRING Print STRING in place of NULL values 显示时在空值处替换成字符串
.output FILENAME Send output to FILENAME 输出到文件
.output stdout Send output to the screen 输出到屏幕
.prompt MAIN CONTINUE Replace the standard prompts
.quit Exit this program
.read FILENAME Execute SQL in FILENAME 执行指定文件中的sql语句
.restore ?DB? FILE Restore content of DB (default “main”) from FILE 从个文件中恢复数据内容
.schema ?TABLE? Show the CREATE statements 显示数据表结构
If TABLE specified, only show tables matching LIKE pattern TABLE.
.separator STRING Change separator used by output mode and .import
.show Show the current values for various settings 显示当前各设置项的设定值
.stats ON|OFF Turn stats on or off
.tables ?TABLE? List names of tables 将当前数据库中的数据表列举
If TABLE specified, only list tables matching LIKE pattern TABLE.
.timeout MS Try opening locked tables for MS milliseconds
.width NUM1 NUM2 … Set column widths for “column” mode 当显示模式为colume时各列的显示宽度
.timer ON|OFF Turn the CPU timer measurement on or off

个人感觉:这个sqlite.exe很简洁,适合数据库导出到文件、输出到文件、从文件导入等操作。对于新手,最好选用其他可视化的工具进行学习使用。这里推荐一个,SQLite Expert Professional,下载页面:http://www.duote.com/soft/7792.html

C++使用SQLite数据库(从下载到具体使用的全过程)

1、下载

http://www.sqlite.org/download.html

找到Source Code中的sqlite-amalgamation-*******.zip,这里的*号指的是版本号。这个压缩包中一般包含有四个文件,其中的sqlite3.h是我们需要用到的。

找到Precompiled Binaries For Windows中的sqlite-dll-win32-x86-*******.zip,这里的*号指的是版本号。这个压缩包中一般包含两个文件:sqlite3.def和sqlite3.dll。

找到Precompiled Binaries For Windows中的sqlite-shell-win32-x86-*******.zip,这里的*号指的是版本号。这个压缩包中一般包含一个文件:sqlite3.exe。

2、利用lib命令得到sqlite3.lib文件

找到VisualStudio的安装路径,我的是D:\Program Files\Microsoft Visual Studio\,用命令行进入以下路径。

D:\Program Files\Microsoft Visual Studio\VC98\Bin>lib /def:sqlite3.def /machine:ix86

上面一行加粗字体部分就是利用lib命令来生成sqlite3.lib文件的。这里注意一点,在执行这个命令前,需要将下载的zip文件中的sqlite3.def和sqlite3.dll解压到D:\Program Files\Microsoft Visual Studio\VC98\Bin\里。

在执行完lib命令后,我们就会发现,在D:\Program Files\Microsoft Visual Studio\VC98\Bin目录下,成功生成了两个文件:sqlite3.lib和sqlite3.exp。

3、将sqlite相关文件拷贝到C++工程目录下

将sqlite3.lib、sqlite3.exe、sqlite3.h文件直接拷贝到工程目录下,或者在工程目录下建立一个专门的目录进行存放,作者是在工程目录下建立了一个名为sqlite3的目录。最后将sqlite3.dll文件拷贝到工程目录下的Debug目录中。

4、生成数据库文件,并创建一个数据表

sqlite数据库是以文件的形式存在的,所以要创建一个数据库就是要创建一个数据库文件。

用命令行进入包含sqlite3.exe的目录,比如我的是D:\sqlite3\sqlite3.exe,然后利用这个sqlite3.exe生成数据库!

在命令行下输入以下命令:sqlite3 test.db

执行完这个命令后,会弹出来几行提示,在D:\sqlite3\下并没有生成任何文件。

接下来,创建一个数据表test_table,这个数据表包含两个int型的字段f1,f2。

在命令行下输入以下命令:create table test_table(f1 int,f2 int)

注意不要在命令后面加分号。这时可以发现,在D:\sqlite3\目录下已经生成了一个test.db文件。

来个命令行模式下的截图:

sqlite3.exe使用方法及命令详解详见本博客的另外一篇原创文章:《sqlite3.exe使用方法及命令详解》