
2009年12月23日
ASP.NET C#中操作SQLite数据库实例
asp.net c# SQLite 操作实例,嵌入式数据库SQLite 在ASP.NET C# 平台的操作实例
最近项目中有使用到SQLite数据库,于是查找资料,编写了一个ASP.NET基于C#语言的SQLite数据库操作实例.大家看代码就可以看懂了,和以往使用ADO.NET操作SQL数据库类似.
要想在ASP.NET项目中使用SQLite数据库,先需下载一个ADO.NET 2.0 SQLite Data Provider,下载地址为:http://sourceforge.net/project/showfiles.php?group_id=132486&package_id=145568,下载后安装完毕后,该安装程序自动在在系统注册(即可在"添加引用"中看到所安装的Provider).

然后,在项目中添加上图所选项即可.
aspx页面仅包含一按钮btnTest,在页面aspx.cs页面中,引入命名空间,贴入以下类似代码即可.
using System;
using System.Data;
using System.Web.UI.WebControls;
using System.Data.SQLite;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnTest_Click(object sender, EventArgs e)
{
SQLiteConnection.ClearAllPools();
SQLiteConnection.CreateFile(Server.MapPath("~") + "/UserData.dbx");
SQLiteConnection conn = new SQLiteConnection("Data Source=" + Server.MapPath("~" + "/UserData.dbx"));
conn.Open();
Response.Write("打开数据库成功~~<br />");
SQLiteCommand cmd = new SQLiteCommand();
cmd.CommandText = "create table Users (UserID int primary key,UserName varchar(100) not null,UserPassword varchar(100) not null)";
cmd.Connection = conn;
cmd.ExecuteNonQuery();
for (int i = 0; i < 100;i++ )
{
cmd.CommandText = "insert into Users (UserID,UserName,UserPassword) values (" + i + ",'TestUser_" + i + "','" + DateTime.Now.ToString().Replace(" ", "-").Replace(":", "-") + "')";
cmd.ExecuteNonQuery();
}
Response.Write("插入成功~~<br />");
cmd.CommandText = "select Username from Users where UserID=1";
cmd.Connection = conn;
string tempUserName = cmd.ExecuteScalar().ToString();
Response.Write("单个值查询结果为:" + tempUserName + "<br /><br />");
cmd.CommandText = "select * from Users ";
cmd.Connection = conn;
SQLiteDataReader sdrInfo = cmd.ExecuteReader();
if (sdrInfo!= null)
{
int userID = 0;
string userName = string.Empty;
string userPassword = string.Empty;
while(sdrInfo.Read())
{
userID = Convert.ToInt32(sdrInfo["UserID"]);
userName = sdrInfo["UserName"].ToString();
userPassword = sdrInfo["UserPassword"].ToString();
Response.Write("UserID:"+userID+"<br />");
Response.Write("UserName:" + userName+ "<br />");
Response.Write("UserPassword:" + userPassword + "<br />");
Response.Write("<br />");
}
sdrInfo.Close();
sdrInfo.Dispose();
}
cmd.CommandText = "update Users set UserPassword='linxiang'";
cmd.Connection = conn;
cmd.ExecuteNonQuery();
Response.Write("更新数据库中的数据成功.");
Response.Write("以下结果为查询从数据库中经过编辑过后的数据项<br /><br />");
cmd.CommandText = "select * from Users ";
cmd.Connection = conn;
sdrInfo = cmd.ExecuteReader();
if (sdrInfo != null)
{
int userID = 0;
string userName = string.Empty;
string userPassword = string.Empty;
while (sdrInfo.Read())
{
userID = Convert.ToInt32(sdrInfo["UserID"]);
userName = sdrInfo["UserName"].ToString();
userPassword = sdrInfo["UserPassword"].ToString();
Response.Write("UserID:" + userID + "<br />");
Response.Write("UserName:" + userName + "<br />");
Response.Write("UserPassword:" + userPassword + "<br />");
Response.Write("<br />");
}
sdrInfo.Close();
sdrInfo.Dispose();
}
conn.Clone();
conn.Dispose();
}
}
posted @ 2009-12-23 12:45 心儿醉 xinerzhui 阅读(161) 评论(0)
编辑

2008年11月5日
作者:slick 日期:2007年1月30日
转自:http://blog.hnce.net/post/317.html
在表PersonalMember中查找strloginname字段中含有"["的记录。
一、搜索通配符字符的说明
可以搜索通配符字符。有两种方法可指定平常用作通配符的字符:
- 使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。
- 在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
WHERE ColumnA LIKE '9[-]5'
下表显示了括在方括号内的通配符的用法。
| 符号 | 含义 |
| LIKE '5[%]' |
5% |
| LIKE '5%' |
5 后跟 0 个或更多字符的字符串 |
| LIKE '[_]n' |
_n |
| LIKE '_n' |
an, in, on (and so on) |
| LIKE '[a-cdf]' |
a, b, c, d, or f |
| LIKE '[-acdf]' |
-, a, c, d, or f |
| LIKE '[ [ ]' |
[ |
| LIKE ']' |
] |
二、实例说明:
在表PersonalMember中查找strloginname字段中含有"["的记录。
可用三条语句:
1、
select strloginname,* from PersonalMember where strloginname like '%[%' escape ''
2、(说明"""与"/"均可与escape关键字结合作为转义符)
select strloginname,* from PersonalMember where strloginname like '%/[%' escape '/'
3、
select strloginname,* from dbo.PersonalMember where charindex('[',strloginname)>0
4、
select strloginname,* from dbo.PersonalMember where strloginname like
'%[[]%'
posted @ 2008-11-05 10:43 心儿醉 xinerzhui 阅读(117) 评论(0)
编辑

2008年10月6日
今日,看了一下Yahoo的统计系统,发现,可以他们可以通过图片来统计网站流量信息.下面是使用方法:
首先,使用你的Yahoo帐户登陆Yahoo统计http://tongji.cn.yahoo.com/,登陆后,点击右侧的"添加网站",输入统计参数信息,如下图:

注意在统计标识处选择第4个,这样没有文字,也没有图形.别人不会轻易发现网站含有统计代码.
添加成功后,自动跳转到到"获取统计代码"页面,在QQ空间中,我们是不能引入JS脚本的,我们就复制统计图片的URL.
再登陆自己的QQ空间,点击右侧的"自定义"链接,如图:

在出现的"自定义"框处,选择"新建模块",如图:

在出现的窗口中,选择"图片模块",如图:

在出现的框中,输入信息如下:
标题可以乱输,图片地址填写刚复制的Yahoo统计图片地址,然后点"确定添加",添加好后,你的QQ空间主页面就可以看到可拖动的东东(偶不知名字,Div做的吗?!),你将他拖动到一个合适的位置,然后保存.当别人看到你的统计图片时,就可以看到统计数据了.
大家也可以灵活应用,比如放到自己在论坛用户签名处,这样当别人在看有你流量统计图片帖的时候,我们可以知道看帖者计算机大致信息,或者该帖子的关注程度.........
本文仅限于技术交流,大家也不要用这个做坏事,后果自负.
posted @ 2008-10-06 20:17 心儿醉 xinerzhui 阅读(448) 评论(1)
编辑

2008年9月27日
近日,一项目需要从一中后缀为dbf的数据文件中读取数据。在读取过程,遇到点问题。以下为解决思路:
在.NET中读取dbf文件,需要使用ODBC数据源的方式。
我的连接字符串如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="dbConnection" value="Driver={Microsoft Visual FoXPro Driver};SourceType=DBF;SourceDB=D:\work\数据\show2003.dbf;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO"/>
</appSettings>
</configuration>
注意根据自己的环境,修改其中的SourceDB的值,对应与你的dbf文件的详细路径。
然后使用如下代码,连接数据库,读取数据,但抛出了一个异常。

根据异常,搜索后,在http://blog.csdn.net/precipitant/archive/2006/09/11/1208064.aspx原因,我的widows2003系统上面的Visual FoXPro的odbc驱动更新了,但不兼容以前的格式。根据文件名vpfodbc.dll搜索,在http://www.zhaodll.com/上找到该文件不同系统的DLL包,备份出c:\windows\system32\vpfodbc.dll,取出压缩包其中的WINDOW2000版的文件,替换了原版文件,再测试,打开连接成功。
在另一台WINDOWS2003的电脑,使用SQL2003导Visual FoXPro的数据时,也会出现这种情况,需要找老版本的ODBC驱动。
posted @ 2008-09-27 19:41 心儿醉 xinerzhui 阅读(624) 评论(2)
编辑

2008年9月24日
posted @ 2008-09-24 21:30 心儿醉 xinerzhui 阅读(123) 评论(0)
编辑

2008年9月19日
posted @ 2008-09-19 11:55 心儿醉 xinerzhui 阅读(1531) 评论(0)
编辑

2008年9月8日
posted @ 2008-09-08 20:15 心儿醉 xinerzhui 阅读(460) 评论(1)
编辑

2008年9月7日
posted @ 2008-09-07 19:05 心儿醉 xinerzhui 阅读(204) 评论(0)
编辑

2008年7月30日
posted @ 2008-07-30 17:12 心儿醉 xinerzhui 阅读(1724) 评论(39)
编辑