ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:17.70KB ,
资源ID:7201090      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7201090.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(sqlite数据库在使用时遇到的奇葩问题记录.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

sqlite数据库在使用时遇到的奇葩问题记录.docx

1、sqlite数据库在使用时遇到的奇葩问题记录sqlite数据库在使用时遇到的奇葩问题记录有时候做些简单的项目一般都会选择sqlite数据;在此主要记录一些平时在使用时遇到的问题及解决方法;-;一:sqlite一直提示thedatabasef;解决:;-;二:错误提示-混合模式程序集是针对v2.0.;解决:;-有时候做些简单的项目一般都会选择sqlite数据库,优点有很多,这里就不详细说了。在此主要记录一些平时在使用时遇到的问题及解决方法。希望能对大家有所帮助。-一:sqlite一直提示 the database file is locked解决:-二:错误提示-混合模式程序集是针对v2.0.解

2、决:-三:在IIS中发布网站程序时,如果操作系统是64位的,有时候会出现访问错误的问题,这时可以将应用程序高级设置中的“启用32位应用程序”设置项改为True,再测试是否成功。(如果“启用32位应用程序项为True” 时网站提示下面的错误黄页,则可以将该项设置为False试试看。2014-5-24 更新:今天在测试一个网站时,发现在True的情况下网站报错,则将该项切换为了False,则可以访问了。至于如何来解释这种问题,待研究。)这种情况的一种错误现象是:在IIS中发布使用sqlite数据库的网站项目时,配置好IIS后访问,页面可能就是显示下面的:这时就需要你去修改应用程序池的模式了:-四:

3、使用sql语句插入当前时间在sqlserver中,如果在操作数据时需要插入当前时间的情况,可以使用 GETDATE() 来插入,而在sqlite中则不同:INSERT INTO MWaitPlayList(Msongid,Mtitle,Mauthor,Mtime) VALUES(songid,title,author,datetime(now, localtime)要用 datetime(now,localtime) 来插入。项目实例:;#region将歌曲添加到待播放列表中;/;/将歌曲添加到待播放列表中;/;/paramname=s;/paramname=s;/paramname=s;/r

4、项目实例:#region 将歌曲添加到待播放列表中/ / 将歌曲添加到待播放列表中/ / 歌曲id/ 歌曲名/ 歌手/ public static bool XMusicAddtoWaitList(long songid, string songtitle, string songauthor)string sql = INSERT INTO MWaitPlayList(Msongid,Mtitle,Mauthor,Mtime)VALUES(songid,title,author,datetime(now,localtime);SQLiteParameter parameter =new SQ

5、LiteParameter(songid,DbType.Int64),new SQLiteParameter(title,DbType.String,200),new SQLiteParameter(author,DbType.String,200);parameter0.Value = songid;parameter1.Value = songtitle;parameter2.Value = songauthor;int row = ZXSQLiteHelper.ExecuteSql(sql, parameter);if (row 0)return true;elsereturn fals

6、e;-五. 数据库配置Web.Config或App.Config文件中的设置:数据库文件要放在App_Data文件夹中:-六. SQLite中获取最新添加自增ID,last_insert_rowid()的使用今天在用sqlite数据库时,想要在新插入数据的同时获取自增的id值,从网上找了找,发现可以用last_insert_rowid() 这个函数来获取,但是在sql语句中执行时却一直返回0。于是又在网上找到了一个相关的文章,经测试可行。遂记录一下。出现上面所提问题的主要原因是“last_insert_rowid()” 函数必须要和insert语句一起使用,说的再明白点,就是必须是由同一个“S

7、QLiteConnection” 来操作。修改后的sqliteHelper :/ / 执行插入语句,并获取最新的一条数据的id/ / / / public static long ExecuteGetInsertId(string SQLString, params SQLiteParameter cmdParms)using (SQLiteConnection connection = new SQLiteConnection(connectionString) using (SQLiteCommand cmd = new SQLiteCommand()long result = 0;try

8、PrepareCommand(cmd, connection, null, SQLString, cmdParms);/result = cmd.ExecuteNonQuery();/查询 select用executeScalar() ,如果用executeNonQuery返回的永远是1. 这里由于肯定能转换为数字 ,所以可以直接转换result = Convert.ToInt64(cmd.ExecuteScalar();cmd.Parameters.Clear();catch (System.Data.SQLite.SQLiteException E)result = -1;throw ne

9、w Exception(E.Message);return result;sql语句:string sql = INSERT INTO UMembers(QId,UName,UPwd,UEmail,UPhoto,UTime) VALUES(5,uname,upwd,uemail,uphoto,datetime(now,localtime);SELECT last_insert_rowid() from UMembers;-参考:今天在我的数据类中给Add方法完善一下.想要实现添加之后返回添加的实体的自增ID,遂想起了select last_insert_rowid(),可是用了之后就是不好使,

10、各种返回0,后来经度娘指教,我发现一句话在同一个SQLiteConnection中.,原来如此.修改代码,搞定!我之前是这么写的DBHelperSQLite.ExecuteSql(sql,parameters);return Convert.ToInt32(DBHelperSQLite.GetSingle(select last_insert_rowid();注意:由于我的DBHelper写法的原因,这样的话就变成了两个SQLiteConnection改进后return DBHelperSQLite.ExecuteSql(sql+ ;select last_insert_rowid();, p

11、arameters);DBHelper修改public static int ExecuteSql(string SQLString, List para)using (SQLiteConnection connection = new SQLiteConnection(connectionString) using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection)tryconnection.Open();foreach (SQLiteParameter p in para)cmd.Parameters.Add(p);i

12、nt rows =0;if(SQLString.IndexOf(insert) != -1)rows = Convert.ToInt32(cmd.ExecuteScalar();elserows = cmd.ExecuteNonQuery();return rows;catch (SQLiteException e)connection.Close();throw e;注意15行到18行,判断是否是insert操作.然后执行cmd.ExecuteScalar(),而不是cmd.ExecuteNonQuery().这样就实现在同一个SQLiteConnection啦!链接: SQLite中获取最

13、新添加自增ID,last_insert_rowid()的使用 - 饭 - 博客园-七. sqlite查询特定时间段的数据1.查询某一天的数据SELECT Utitle,Uurl,Utime FROM Urls WHERE Uisok=1 AND date(Utime)=date(2014-02-10)2.查询今天的数据 (待测试)select time=datetime(now,start of day,+0 day) and time=datetime(now,start of day,-1 day) and time=datetime(now,start of day,-7 day,wee

14、kday 1) ANDtime=datetime(now, start of month, +0 month, -0 day) and UTime=datetime(now,start of month,-1 month,-0 day) AND Time datetime(now,start of month,+0 month,-1 day) from 表-八.Sqlite分页数据查询sqlite中 limit 一般的语法格式为:Select * From Person Limit 9 Offset 10;表示从 数据库Person 中 第10条开始 共获取9条数据也可以使用 简写形式:Sel

15、ect * From Person Limit 10,9;-查询相应条数数据 相当于sql中的 top-0,2 从第几条开始 共查询多少条SELECT Bid,BTitle,BContent,BLink,BImg,BDate FROM XBooks WHERE BDel=0 ORDER BY BDate DESC LIMIT 0,2 分页查询string sql2 = string.Format(SELECT Bid,BTitle,BContent,BLink,BImg,BDate FROM XBooks WHERE BDel=0 ORDER BY BDate DESC LIMIT 0*1,1, pageIndex - 1, pageSize);string sql = string.Format(SELECT Bid,BTitle,BContent,BLink,BImg,BDate FROM XBooks WHERE BDel=0 ORDER BY BDate DESC LIMIT 0 offset 0*1, pageSize, pageIndex - 1);/pageSize:每页显示条数,pageIndex页码

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1