SQLite数据库操作类

[csharp] view plaincopy

  1. 首先:添加配置<add key="SQLString" value="~\demo.db"/>

[csharp] view plaincopy

[csharp] view plaincopy

  1. /**************************************
  2. * 作用:SQLLite Server操作实现
  3. **************************************/
  4. using System;
  5. using System.Collections;
  6. using System.Collections.Specialized;
  7. using System.Data;
  8. using System.Data.SQLite;//这个可以去网上下载
  9. using System.Configuration;
  10. public class SQLiteHelper
  11. {
  12. //数据库连接字符串(web.config来配置),可以动态更改SQLString支持多数据库.
  13. public static string connectionString = "Data Source=" + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["SQLString"]);
  14. public SQLiteHelper() { }
  15. #region 公用方法
  16. public static int GetMaxID(string FieldName, string TableName)
  17. {
  18. string strsql = "select max(" + FieldName + ")+1 from " + TableName;
  19. object obj = GetSingle(strsql);
  20. if (obj == null)
  21. {
  22. return 1;
  23. }
  24. else
  25. {
  26. return int.Parse(obj.ToString());
  27. }
  28. }
  29. public static bool Exists(string strSql)
  30. {
  31. object obj = GetSingle(strSql);
  32. int cmdresult;
  33. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  34. {
  35. cmdresult = 0;
  36. }
  37. else
  38. {
  39. cmdresult = int.Parse(obj.ToString());
  40. }
  41. if (cmdresult == 0)
  42. {
  43. return false;
  44. }
  45. else
  46. {
  47. return true;
  48. }
  49. }
  50. public static bool Exists(string strSql, params SQLiteParameter[] cmdParms)
  51. {
  52. object obj = GetSingle(strSql, cmdParms);
  53. int cmdresult;
  54. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  55. {
  56. cmdresult = 0;
  57. }
  58. else
  59. {
  60. cmdresult = int.Parse(obj.ToString());
  61. }
  62. if (cmdresult == 0)
  63. {
  64. return false;
  65. }
  66. else
  67. {
  68. return true;
  69. }
  70. }
  71. #endregion
  72. #region  执行简单SQL语句
  73. /// <summary>
  74. /// 执行SQL语句,返回影响的记录数
  75. /// </summary>
  76. /// <param name="SQLString">SQL语句</param>
  77. /// <returns>影响的记录数</returns>
  78. public static int ExecuteSql(string SQLString)
  79. {
  80. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  81. {
  82. using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection))
  83. {
  84. try
  85. {
  86. connection.Open();
  87. int rows = cmd.ExecuteNonQuery();
  88. return rows;
  89. }
  90. catch (System.Data.SQLite.SQLiteException E)
  91. {
  92. connection.Close();
  93. throw new Exception(E.Message);
  94. }
  95. }
  96. }
  97. }
  98. /// <summary>
  99. /// 执行SQL语句,设置命令的执行等待时间
  100. /// </summary>
  101. /// <param name="SQLString"></param>
  102. /// <param name="Times"></param>
  103. /// <returns></returns>
  104. public static int ExecuteSqlByTime(string SQLString, int Times)
  105. {
  106. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  107. {
  108. using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection))
  109. {
  110. try
  111. {
  112. connection.Open();
  113. cmd.CommandTimeout = Times;
  114. int rows = cmd.ExecuteNonQuery();
  115. return rows;
  116. }
  117. catch (System.Data.SQLite.SQLiteException E)
  118. {
  119. connection.Close();
  120. throw new Exception(E.Message);
  121. }
  122. }
  123. }
  124. }
  125. /// <summary>
  126. /// 执行多条SQL语句,实现数据库事务。
  127. /// </summary>
  128. /// <param name="SQLStringList">多条SQL语句</param>
  129. public static void ExecuteSqlTran(ArrayList SQLStringList)
  130. {
  131. using (SQLiteConnection conn = new SQLiteConnection(connectionString))
  132. {
  133. conn.Open();
  134. SQLiteCommand cmd = new SQLiteCommand();
  135. cmd.Connection = conn;
  136. SQLiteTransaction tx = conn.BeginTransaction();
  137. cmd.Transaction = tx;
  138. try
  139. {
  140. for (int n = 0; n < SQLStringList.Count; n++)
  141. {
  142. string strsql = SQLStringList[n].ToString();
  143. if (strsql.Trim().Length > 1)
  144. {
  145. cmd.CommandText = strsql;
  146. cmd.ExecuteNonQuery();
  147. }
  148. }
  149. tx.Commit();
  150. }
  151. catch (System.Data.SQLite.SQLiteException E)
  152. {
  153. tx.Rollback();
  154. throw new Exception(E.Message);
  155. }
  156. }
  157. }
  158. /// <summary>
  159. /// 执行带一个存储过程参数的的SQL语句。
  160. /// </summary>
  161. /// <param name="SQLString">SQL语句</param>
  162. /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
  163. /// <returns>影响的记录数</returns>
  164. public static int ExecuteSql(string SQLString, string content)
  165. {
  166. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  167. {
  168. SQLiteCommand cmd = new SQLiteCommand(SQLString, connection);
  169. SQLiteParameter myParameter = new SQLiteParameter("@content", DbType.String);
  170. myParameter.Value = content;
  171. cmd.Parameters.Add(myParameter);
  172. try
  173. {
  174. connection.Open();
  175. int rows = cmd.ExecuteNonQuery();
  176. return rows;
  177. }
  178. catch (System.Data.SQLite.SQLiteException E)
  179. {
  180. throw new Exception(E.Message);
  181. }
  182. finally
  183. {
  184. cmd.Dispose();
  185. connection.Close();
  186. }
  187. }
  188. }
  189. /// <summary>
  190. /// 执行带一个存储过程参数的的SQL语句。
  191. /// </summary>
  192. /// <param name="SQLString">SQL语句</param>
  193. /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
  194. /// <returns>影响的记录数</returns>
  195. public static object ExecuteSqlGet(string SQLString, string content)
  196. {
  197. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  198. {
  199. SQLiteCommand cmd = new SQLiteCommand(SQLString, connection);
  200. SQLiteParameter myParameter = new SQLiteParameter("@content", DbType.String);
  201. myParameter.Value = content;
  202. cmd.Parameters.Add(myParameter);
  203. try
  204. {
  205. connection.Open();
  206. object obj = cmd.ExecuteScalar();
  207. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  208. {
  209. return null;
  210. }
  211. else
  212. {
  213. return obj;
  214. }
  215. }
  216. catch (System.Data.SQLite.SQLiteException E)
  217. {
  218. throw new Exception(E.Message);
  219. }
  220. finally
  221. {
  222. cmd.Dispose();
  223. connection.Close();
  224. }
  225. }
  226. }
  227. /// <summary>
  228. /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
  229. /// </summary>
  230. /// <param name="strSQL">SQL语句</param>
  231. /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
  232. /// <returns>影响的记录数</returns>
  233. public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
  234. {
  235. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  236. {
  237. SQLiteCommand cmd = new SQLiteCommand(strSQL, connection);
  238. SQLiteParameter myParameter = new SQLiteParameter("@fs", DbType.Binary);
  239. myParameter.Value = fs;
  240. cmd.Parameters.Add(myParameter);
  241. try
  242. {
  243. connection.Open();
  244. int rows = cmd.ExecuteNonQuery();
  245. return rows;
  246. }
  247. catch (System.Data.SQLite.SQLiteException E)
  248. {
  249. throw new Exception(E.Message);
  250. }
  251. finally
  252. {
  253. cmd.Dispose();
  254. connection.Close();
  255. }
  256. }
  257. }
  258. /// <summary>
  259. /// 执行一条计算查询结果语句,返回查询结果(object)。
  260. /// </summary>
  261. /// <param name="SQLString">计算查询结果语句</param>
  262. /// <returns>查询结果(object)</returns>
  263. public static object GetSingle(string SQLString)
  264. {
  265. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  266. {
  267. using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection))
  268. {
  269. try
  270. {
  271. connection.Open();
  272. object obj = cmd.ExecuteScalar();
  273. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  274. {
  275. return null;
  276. }
  277. else
  278. {
  279. return obj;
  280. }
  281. }
  282. catch (System.Data.SQLite.SQLiteException e)
  283. {
  284. connection.Close();
  285. throw new Exception(e.Message);
  286. }
  287. }
  288. }
  289. }
  290. /// <summary>
  291. /// 执行查询语句,返回SQLiteDataReader(使用该方法切记要手工关闭SQLiteDataReader和连接)
  292. /// </summary>
  293. /// <param name="strSQL">查询语句</param>
  294. /// <returns>SQLiteDataReader</returns>
  295. public static SQLiteDataReader ExecuteReader(string strSQL)
  296. {
  297. SQLiteConnection connection = new SQLiteConnection(connectionString);
  298. SQLiteCommand cmd = new SQLiteCommand(strSQL, connection);
  299. try
  300. {
  301. connection.Open();
  302. SQLiteDataReader myReader = cmd.ExecuteReader();
  303. return myReader;
  304. }
  305. catch (System.Data.SQLite.SQLiteException e)
  306. {
  307. throw new Exception(e.Message);
  308. }
  309. //finally //不能在此关闭,否则,返回的对象将无法使用
  310. //{
  311. //    cmd.Dispose();
  312. //    connection.Close();
  313. //}
  314. }
  315. /// <summary>
  316. /// 执行查询语句,返回DataSet
  317. /// </summary>
  318. /// <param name="SQLString">查询语句</param>
  319. /// <returns>DataSet</returns>
  320. public static DataSet Query(string SQLString)
  321. {
  322. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  323. {
  324. DataSet ds = new DataSet();
  325. try
  326. {
  327. connection.Open();
  328. SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
  329. command.Fill(ds, "ds");
  330. }
  331. catch (System.Data.SQLite.SQLiteException ex)
  332. {
  333. throw new Exception(ex.Message);
  334. }
  335. return ds;
  336. }
  337. }
  338. public static DataSet Query(string SQLString, string TableName)
  339. {
  340. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  341. {
  342. DataSet ds = new DataSet();
  343. try
  344. {
  345. connection.Open();
  346. SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
  347. command.Fill(ds, TableName);
  348. }
  349. catch (System.Data.SQLite.SQLiteException ex)
  350. {
  351. throw new Exception(ex.Message);
  352. }
  353. return ds;
  354. }
  355. }
  356. /// <summary>
  357. /// 执行查询语句,返回DataSet,设置命令的执行等待时间
  358. /// </summary>
  359. /// <param name="SQLString"></param>
  360. /// <param name="Times"></param>
  361. /// <returns></returns>
  362. public static DataSet Query(string SQLString, int Times)
  363. {
  364. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  365. {
  366. DataSet ds = new DataSet();
  367. try
  368. {
  369. connection.Open();
  370. SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
  371. command.SelectCommand.CommandTimeout = Times;
  372. command.Fill(ds, "ds");
  373. }
  374. catch (System.Data.SQLite.SQLiteException ex)
  375. {
  376. throw new Exception(ex.Message);
  377. }
  378. return ds;
  379. }
  380. }
  381. #endregion
  382. #region 执行带参数的SQL语句
  383. /// <summary>
  384. /// 执行SQL语句,返回影响的记录数
  385. /// </summary>
  386. /// <param name="SQLString">SQL语句</param>
  387. /// <returns>影响的记录数</returns>
  388. public static int ExecuteSql(string SQLString, params SQLiteParameter[] cmdParms)
  389. {
  390. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  391. {
  392. using (SQLiteCommand cmd = new SQLiteCommand())
  393. {
  394. try
  395. {
  396. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  397. int rows = cmd.ExecuteNonQuery();
  398. cmd.Parameters.Clear();
  399. return rows;
  400. }
  401. catch (System.Data.SQLite.SQLiteException E)
  402. {
  403. throw new Exception(E.Message);
  404. }
  405. }
  406. }
  407. }
  408. /// <summary>
  409. /// 执行多条SQL语句,实现数据库事务。
  410. /// </summary>
  411. /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SQLiteParameter[])</param>
  412. public static void ExecuteSqlTran(Hashtable SQLStringList)
  413. {
  414. using (SQLiteConnection conn = new SQLiteConnection(connectionString))
  415. {
  416. conn.Open();
  417. using (SQLiteTransaction trans = conn.BeginTransaction())
  418. {
  419. SQLiteCommand cmd = new SQLiteCommand();
  420. try
  421. {
  422. //循环
  423. foreach (DictionaryEntry myDE in SQLStringList)
  424. {
  425. string cmdText = myDE.Key.ToString();
  426. SQLiteParameter[] cmdParms = (SQLiteParameter[]) myDE.Value;
  427. PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
  428. int val = cmd.ExecuteNonQuery();
  429. cmd.Parameters.Clear();
  430. trans.Commit();
  431. }
  432. }
  433. catch
  434. {
  435. trans.Rollback();
  436. throw;
  437. }
  438. }
  439. }
  440. }
  441. /// <summary>
  442. /// 执行一条计算查询结果语句,返回查询结果(object)。
  443. /// </summary>
  444. /// <param name="SQLString">计算查询结果语句</param>
  445. /// <returns>查询结果(object)</returns>
  446. public static object GetSingle(string SQLString, params SQLiteParameter[] cmdParms)
  447. {
  448. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  449. {
  450. using (SQLiteCommand cmd = new SQLiteCommand())
  451. {
  452. try
  453. {
  454. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  455. object obj = cmd.ExecuteScalar();
  456. cmd.Parameters.Clear();
  457. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  458. {
  459. return null;
  460. }
  461. else
  462. {
  463. return obj;
  464. }
  465. }
  466. catch (System.Data.SQLite.SQLiteException e)
  467. {
  468. throw new Exception(e.Message);
  469. }
  470. }
  471. }
  472. }
  473. /// <summary>
  474. /// 执行查询语句,返回SQLiteDataReader (使用该方法切记要手工关闭SQLiteDataReader和连接)
  475. /// </summary>
  476. /// <param name="strSQL">查询语句</param>
  477. /// <returns>SQLiteDataReader</returns>
  478. public static SQLiteDataReader ExecuteReader(string SQLString, params SQLiteParameter[] cmdParms)
  479. {
  480. SQLiteConnection connection = new SQLiteConnection(connectionString);
  481. SQLiteCommand cmd = new SQLiteCommand();
  482. try
  483. {
  484. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  485. SQLiteDataReader myReader = cmd.ExecuteReader();
  486. cmd.Parameters.Clear();
  487. return myReader;
  488. }
  489. catch (System.Data.SQLite.SQLiteException e)
  490. {
  491. throw new Exception(e.Message);
  492. }
  493. //finally //不能在此关闭,否则,返回的对象将无法使用
  494. //{
  495. //    cmd.Dispose();
  496. //    connection.Close();
  497. //}
  498. }
  499. /// <summary>
  500. /// 执行查询语句,返回DataSet
  501. /// </summary>
  502. /// <param name="SQLString">查询语句</param>
  503. /// <returns>DataSet</returns>
  504. public static DataSet Query(string SQLString, params SQLiteParameter[] cmdParms)
  505. {
  506. using (SQLiteConnection connection = new SQLiteConnection(connectionString))
  507. {
  508. SQLiteCommand cmd = new SQLiteCommand();
  509. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  510. using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
  511. {
  512. DataSet ds = new DataSet();
  513. try
  514. {
  515. da.Fill(ds, "ds");
  516. cmd.Parameters.Clear();
  517. }
  518. catch (System.Data.SQLite.SQLiteException ex)
  519. {
  520. throw new Exception(ex.Message);
  521. }
  522. return ds;
  523. }
  524. }
  525. }
  526. public static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, SQLiteTransaction trans, string cmdText, SQLiteParameter[] cmdParms)
  527. {
  528. if (conn.State != ConnectionState.Open)
  529. conn.Open();
  530. cmd.Connection = conn;
  531. cmd.CommandText = cmdText;
  532. if (trans != null)
  533. cmd.Transaction = trans;
  534. cmd.CommandType = CommandType.Text;//cmdType;
  535. if (cmdParms != null)
  536. {
  537. foreach (SQLiteParameter parameter in cmdParms)
  538. {
  539. if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
  540. (parameter.Value == null))
  541. {
  542. parameter.Value = DBNull.Value;
  543. }
  544. cmd.Parameters.Add(parameter);
  545. }
  546. }
  547. }
  548. #endregion
  549. #region 参数转换
  550. /// <summary>
  551. /// 放回一个SQLiteParameter
  552. /// </summary>
  553. /// <param name="name">参数名字</param>
  554. /// <param name="type">参数类型</param>
  555. /// <param name="size">参数大小</param>
  556. /// <param name="value">参数值</param>
  557. /// <returns>SQLiteParameter的值</returns>
  558. public static SQLiteParameter MakeSQLiteParameter(string name, DbType type, int size, object value)
  559. {
  560. SQLiteParameter parm = new SQLiteParameter(name, type, size);
  561. parm.Value = value;
  562. return parm;
  563. }
  564. public static SQLiteParameter MakeSQLiteParameter(string name, DbType type, object value)
  565. {
  566. SQLiteParameter parm = new SQLiteParameter(name, type);
  567. parm.Value = value;
  568. return parm;
  569. }
  570. #endregion
  571. }

调用方法

[csharp] view plaincopy

  1. /// <summary>
  2. /// 判断用户是否存在
  3. /// </summary>
  4. /// <param name="name">用户名称</param>
  5. /// <returns></returns>
  6. public bool UserExists(string name)
  7. {
  8. StringBuilder strSql = new StringBuilder();
  9. strSql.Append("select count(*) n from Users");
  10. strSql.Append(" where [email protected] ");
  11. SQLiteParameter[] parameters = {
  12. SQLiteHelper.MakeSQLiteParameter("@UserName", DbType.String,30,name)};
  13. return SQLiteHelper.Exists(strSql.ToString(), parameters);
  14. }
  15. /// <summary>
  16. /// 增加一个用户
  17. /// </summary>
  18. /// <param name="name">用户名</param>
  19. /// <param name="pwd">密码</param>
  20. /// <returns></returns>
  21. public int CreateUser(string name, string pwd)
  22. {
  23. int ret = 0;
  24. if (!UserExists(name))
  25. {
  26. StringBuilder strSql = new StringBuilder();
  27. strSql.Append("insert into t_UserGroup(");
  28. strSql.Append("UserName,Password)");
  29. strSql.Append(" values (");
  30. strSql.Append("@UserName,@Password)");
  31. SQLiteParameter[] parameters = {
  32. SQLiteHelper.MakeSQLiteParameter("@UserName", DbType.String,30,name),
  33. SQLiteHelper.MakeSQLiteParameter("@Password", DbType.String,128,pwd)
  34. };
  35. if (SQLiteHelper.ExecuteSql(strSql.ToString(), parameters) >= 1)
  36. {
  37. ret = 1;
  38. }
  39. }
  40. else
  41. {
  42. ret = 2;
  43. }
  44. return ret;
  45. }
  46. /// <summary>
  47. /// 更新一条数据
  48. /// </summary>
  49. /// <param name="model">用户分组实体类</param>
  50. /// <returns></returns>
  51. public bool UpdateUser(int id, string name, string pwd)
  52. {
  53. StringBuilder strSql = new StringBuilder();
  54. strSql.Append("update Users set ");
  55. strSql.Append("[email protected],");
  56. strSql.Append("[email protected]");
  57. strSql.Append(" where [email protected]");
  58. SQLiteParameter[] parameters = {
  59. SQLiteHelper.MakeSQLiteParameter("@UserID", DbType.Int32,11,id),
  60. SQLiteHelper.MakeSQLiteParameter("@UserName", DbType.String,30,name),
  61. SQLiteHelper.MakeSQLiteParameter("@Password", DbType.String,128,pwd)};
  62. if (SQLiteHelper.ExecuteSql(strSql.ToString(), parameters) >= 1)
  63. {
  64. return true;
  65. }
  66. else
  67. {
  68. return false;
  69. }
  70. }
  71. /// <summary>
  72. /// 删除用户
  73. /// </summary>
  74. /// <param name="ID">用户ID</param>
  75. /// <returns></returns>
  76. public int DeleteUser(int id)
  77. {
  78. int ret = 0;
  79. string strSql3 = "delete from Users where [email protected]";
  80. SQLiteParameter[] parameters = {
  81. SQLiteHelper.MakeSQLiteParameter("@UserID", DbType.Int32,4,id)};
  82. if (SQLiteHelper.ExecuteSql(strSql3, parameters) >= 1)
  83. {
  84. ret = 1;
  85. }
  86. else
  87. {
  88. ret = 0;
  89. }
  90. return ret;
  91. }
  92. /// <summary>
  93. /// 获得用户分组数据列表
  94. /// </summary>
  95. /// <param name="strWhere">Where条件</param>
  96. /// <returns></returns>
  97. public DataSet GetUserList(string strWhere)
  98. {
  99. StringBuilder strSql = new StringBuilder();
  100. strSql.Append("select * FROM Users ");
  101. if (strWhere.Trim() != "")
  102. {
  103. strSql.Append(" where " + strWhere);
  104. }
  105. strSql.Append(" order by UserID desc");
  106. return SQLiteHelper.Query(strSql.ToString());
  107. }

注意事项

1. @@IDENTITY LAST_INSERT_ROWID() 
2. SELECT cn = COUNT(*) FROM ... SELECT COUNT(*) cn FROM ... 
3. LIMIT startIndex,itemCn 这儿的startIndex是从0开始的,而ROW_NUMBER()是从1开始的 
4. sqlite中没有SELECT TOP,用LIMIT即可 
5. SQLite自增字段,如果在事务中插入数据失败,并不会占用增长后的id,而sql server中对应的id将无效 
6. SQLite中没有GETDATE日期函数,在类中加入参数如下DbType.DateTime,DateTime.Now.ToString("s") 
7. SQLite支持REPLACE INTO语法,sql server 2008中支持merge to

转载自http://blog.csdn.net/kingboy2008/article/details/6752898

时间: 2024-11-09 00:46:24

SQLite数据库操作类的相关文章

Android打造属于自己的数据库操作类。

1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要去做增删改查的操作的时候,就得通过getWritableDatabase获取一个SQLiteDataBase然后老老实实去写操作值的put以及查询返回的Cursor处理,其实我们可以搞一个对象来帮我们干这些事情,打造属于你自己的数据库操作类. 2.操作类的初显形 假设现在我们什么都没有,我们要去搞一

PHP 数据库操作类:ezSQL

EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.html ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.oracle8/9 .interbase.FireBird.PostgreSQL.MS-SQL.sqlite.sqlite C++). 在你的脚本开头是要包含一个一个PHP文件.然后,你就可以使用更小.更容易的一套ezsql函数来代替标准的PHP数据库函数. 它会自动缓存的查询结果,提供了一系列简单

C# SQLite 数据库操作

C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0: 编者:乌龙哈里 2017-03-19 参考: SQLite 官网 SQL As Understood By SQLite System.Data.SQLite 菜鸟教程 SQL 教程 章节: 1.下载安装 2.数据类型 3.创建数据库 4.删除数据库 5.创建表 6.删除表 7.查询表结构 8.更改表名 9.增加列(字段) 10.读取创建表的 SQL 语句 11.更改列名

【Android】实验8 SQLite数据库操作2016.5.13

实验8  SQLite数据库操作 [目的] 设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面. [要求] 程序主界面是通讯录的目录显示手机上联系人的名称.点击联系人的姓名可以显示联系人的详细信息.在按了MEMU键之后会弹出菜单栏.单击菜单栏上的按钮可以添加联系人和删除联系人 [过程] (1)确定数据库的数据结构.本程序只要一张表,该表的内容及说明如下表所示 字段名称 数据类型 说明 字段名称 数据类型 声明 _id Integer 所

windows phone 8.1开发SQlite数据库操作详解

原文出自:http://www.bcmeng.com/windows-phone-sqlite1/ 本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本站广告支持小梦,谢谢!) 建立数据库 增加数据 删除数据 更改数据 查询数据 (注:为了让每个操作都能及时显示在UI上,所以进行了数据绑定.数据绑定会在后面文章专门讲解,先给出数据类Note,代表一个笔记.含有Name 和content  属性.其代码如下:如果不清楚,我会在之后讲解): names

Android SQLite数据库操作示例

SQLite介绍 SQLite是一个非常流行的嵌入式数据库,它支持SQL语言,并且只利用很少的内存就有很好的性能.此外,它还是开源的,任何人都可以使用它. SQLite由以下几个组件组成:SQL编译器.内核.后端以及附件.SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展SQLite的内核变得更加方便. SQLite支持的数据类型参考链接:http://blog.csdn.net/wzy_1988/article/details/36005947 Android在运行时(

安卓 SQLite数据库操作实例

前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tc

在安卓开发中使用SQLite数据库操作实例

前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tc

实验八:SQLite数据库操作

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年5月6日 实验项目名称 SQLite数据库操作 实验地点 S3010 实验类型 □验证型    √设计型    □综合型 学  时 4 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面. 程序主界面是通讯录的目录显示手机上联系人的名称.点击联系人的姓名可以显示联系人的详细信息.单击图标按钮可以添加联系人和