1. using System;
  2. using System.Collections;
  3. using System.Collections.Specialized;
  4. using System.Data;
  5. using MySql.Data.MySqlClient;
  6. using System.Configuration;
  7. using System.Data.Common;
  8. using System.Collections.Generic;
  9.  
  10. /// <summary>
  11. /// 数据访问抽象基础类
  12. /// Copyright (C) Maticsoft
  13. /// </summary>
  14. public abstract class DbHelperMySQL
  15. {
  16. //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.
  17. public static string connectionString =
  18. System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
  19.  
  20. public DbHelperMySQL()
  21. {
  22. }
  23.  
  24. #region 公用方法
  25.  
  26. /// <summary>
  27. /// 得到最大值
  28. /// </summary>
  29. /// <param name="FieldName"></param>
  30. /// <param name="TableName"></param>
  31. /// <returns></returns>
  32. public static int GetMaxID(string FieldName, string TableName)
  33. {
  34. string strsql = "select max(" + FieldName + ")+1 from " + TableName;
  35. object obj = GetSingle(strsql);
  36. if (obj == null)
  37. {
  38. return 1;
  39. }
  40. else
  41. {
  42. return int.Parse(obj.ToString());
  43. }
  44. }
  45.  
  46. /// <summary>
  47. /// 是否存在
  48. /// </summary>
  49. /// <param name="strSql"></param>
  50. /// <returns></returns>
  51. public static bool Exists(string strSql)
  52. {
  53. object obj = GetSingle(strSql);
  54. int cmdresult;
  55. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  56. {
  57. cmdresult = 0;
  58. }
  59. else
  60. {
  61. cmdresult = int.Parse(obj.ToString());
  62. }
  63. if (cmdresult == 0)
  64. {
  65. return false;
  66. }
  67. else
  68. {
  69. return true;
  70. }
  71. }
  72.  
  73. /// <summary>
  74. /// 是否存在(基于MySqlParameter)
  75. /// </summary>
  76. /// <param name="strSql"></param>
  77. /// <param name="cmdParms"></param>
  78. /// <returns></returns>
  79. public static bool Exists(string strSql, params MySqlParameter[] cmdParms)
  80. {
  81. object obj = GetSingle(strSql, cmdParms);
  82. int cmdresult;
  83. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  84. {
  85. cmdresult = 0;
  86. }
  87. else
  88. {
  89. cmdresult = int.Parse(obj.ToString());
  90. }
  91. if (cmdresult == 0)
  92. {
  93. return false;
  94. }
  95. else
  96. {
  97. return true;
  98. }
  99. }
  100.  
  101. #endregion
  102.  
  103. #region 执行简单SQL语句
  104.  
  105. /// <summary>
  106. /// 执行SQL语句,返回影响的记录数
  107. /// </summary>
  108. /// <param name="SQLString">SQL语句</param>
  109. /// <returns>影响的记录数</returns>
  110. public static int ExecuteSql(string SQLString)
  111. {
  112. using (MySqlConnection connection = new MySqlConnection(connectionString))
  113. {
  114. using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
  115. {
  116. try
  117. {
  118. connection.Open();
  119. int rows = cmd.ExecuteNonQuery();
  120. return rows;
  121. }
  122. catch (MySql.Data.MySqlClient.MySqlException e)
  123. {
  124. connection.Close();
  125. throw e;
  126. }
  127. }
  128. }
  129. }
  130.  
  131. public static int ExecuteSqlByTime(string SQLString, int Times)
  132. {
  133. using (MySqlConnection connection = new MySqlConnection(connectionString))
  134. {
  135. using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
  136. {
  137. try
  138. {
  139. connection.Open();
  140. cmd.CommandTimeout = Times;
  141. int rows = cmd.ExecuteNonQuery();
  142. return rows;
  143. }
  144. catch (MySql.Data.MySqlClient.MySqlException e)
  145. {
  146. connection.Close();
  147. throw e;
  148. }
  149. }
  150. }
  151. }
  152.  
  153. /// <summary>
  154. /// 执行带一个存储过程参数的的SQL语句。
  155. /// </summary>
  156. /// <param name="SQLString">SQL语句</param>
  157. /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
  158. /// <returns>影响的记录数</returns>
  159. public static int ExecuteSql(string SQLString, string content)
  160. {
  161. using (MySqlConnection connection = new MySqlConnection(connectionString))
  162. {
  163. MySqlCommand cmd = new MySqlCommand(SQLString, connection);
  164. MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@content",
  165. SqlDbType.NText);
  166. myParameter.Value = content;
  167. cmd.Parameters.Add(myParameter);
  168. try
  169. {
  170. connection.Open();
  171. int rows = cmd.ExecuteNonQuery();
  172. return rows;
  173. }
  174. catch (MySql.Data.MySqlClient.MySqlException e)
  175. {
  176. throw e;
  177. }
  178. finally
  179. {
  180. cmd.Dispose();
  181. connection.Close();
  182. }
  183. }
  184. }
  185.  
  186. /// <summary>
  187. /// 执行带一个存储过程参数的的SQL语句。
  188. /// </summary>
  189. /// <param name="SQLString">SQL语句</param>
  190. /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
  191. /// <returns>影响的记录数</returns>
  192. public static object ExecuteSqlGet(string SQLString, string content)
  193. {
  194. using (MySqlConnection connection = new MySqlConnection(connectionString))
  195. {
  196. MySqlCommand cmd = new MySqlCommand(SQLString, connection);
  197. MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@content",
  198. SqlDbType.NText);
  199. myParameter.Value = content;
  200. cmd.Parameters.Add(myParameter);
  201. try
  202. {
  203. connection.Open();
  204. object obj = cmd.ExecuteScalar();
  205. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  206. {
  207. return null;
  208. }
  209. else
  210. {
  211. return obj;
  212. }
  213. }
  214. catch (MySql.Data.MySqlClient.MySqlException e)
  215. {
  216. throw e;
  217. }
  218. finally
  219. {
  220. cmd.Dispose();
  221. connection.Close();
  222. }
  223. }
  224. }
  225.  
  226. /// <summary>
  227. /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
  228. /// </summary>
  229. /// <param name="strSQL">SQL语句</param>
  230. /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
  231. /// <returns>影响的记录数</returns>
  232. public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
  233. {
  234. using (MySqlConnection connection = new MySqlConnection(connectionString))
  235. {
  236. MySqlCommand cmd = new MySqlCommand(strSQL, connection);
  237. MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@fs",
  238. SqlDbType.Image);
  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 (MySql.Data.MySqlClient.MySqlException e)
  248. {
  249. throw e;
  250. }
  251. finally
  252. {
  253. cmd.Dispose();
  254. connection.Close();
  255. }
  256. }
  257. }
  258.  
  259. /// <summary>
  260. /// 执行一条计算查询结果语句,返回查询结果(object)。
  261. /// </summary>
  262. /// <param name="SQLString">计算查询结果语句</param>
  263. /// <returns>查询结果(object)</returns>
  264. public static object GetSingle(string SQLString)
  265. {
  266. using (MySqlConnection connection = new MySqlConnection(connectionString))
  267. {
  268. using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
  269. {
  270. try
  271. {
  272. connection.Open();
  273. object obj = cmd.ExecuteScalar();
  274. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  275. {
  276. return null;
  277. }
  278. else
  279. {
  280. return obj;
  281. }
  282. }
  283. catch (MySql.Data.MySqlClient.MySqlException e)
  284. {
  285. connection.Close();
  286. throw e;
  287. }
  288. }
  289. }
  290. }
  291.  
  292. public static object GetSingle(string SQLString, int Times)
  293. {
  294. using (MySqlConnection connection = new MySqlConnection(connectionString))
  295. {
  296. using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
  297. {
  298. try
  299. {
  300. connection.Open();
  301. cmd.CommandTimeout = Times;
  302. object obj = cmd.ExecuteScalar();
  303. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  304. {
  305. return null;
  306. }
  307. else
  308. {
  309. return obj;
  310. }
  311. }
  312. catch (MySql.Data.MySqlClient.MySqlException e)
  313. {
  314. connection.Close();
  315. throw e;
  316. }
  317. }
  318. }
  319. }
  320.  
  321. /// <summary>
  322. /// 执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close )
  323. /// </summary>
  324. /// <param name="strSQL">查询语句</param>
  325. /// <returns>MySqlDataReader</returns>
  326. public static MySqlDataReader ExecuteReader(string strSQL)
  327. {
  328. MySqlConnection connection = new MySqlConnection(connectionString);
  329. MySqlCommand cmd = new MySqlCommand(strSQL, connection);
  330. try
  331. {
  332. connection.Open();
  333. MySqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  334. return myReader;
  335. }
  336. catch (MySql.Data.MySqlClient.MySqlException e)
  337. {
  338. throw e;
  339. }
  340.  
  341. }
  342.  
  343. /// <summary>
  344. /// 执行查询语句,返回DataSet
  345. /// </summary>
  346. /// <param name="SQLString">查询语句</param>
  347. /// <returns>DataSet</returns>
  348. public static DataSet Query(string SQLString)
  349. {
  350. using (MySqlConnection connection = new MySqlConnection(connectionString))
  351. {
  352. DataSet ds = new DataSet();
  353. try
  354. {
  355. connection.Open();
  356. MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection);
  357. command.Fill(ds, "ds");
  358. }
  359. catch (MySql.Data.MySqlClient.MySqlException ex)
  360. {
  361. throw new Exception(ex.Message);
  362. }
  363. return ds;
  364. }
  365. }
  366.  
  367. public static DataSet Query(string SQLString, int Times)
  368. {
  369. using (MySqlConnection connection = new MySqlConnection(connectionString))
  370. {
  371. DataSet ds = new DataSet();
  372. try
  373. {
  374. connection.Open();
  375. MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection);
  376. command.SelectCommand.CommandTimeout = Times;
  377. command.Fill(ds, "ds");
  378. }
  379. catch (MySql.Data.MySqlClient.MySqlException ex)
  380. {
  381. throw new Exception(ex.Message);
  382. }
  383. return ds;
  384. }
  385. }
  386.  
  387. #endregion
  388.  
  389. #region 执行带参数的SQL语句
  390.  
  391. /// <summary>
  392. /// 执行SQL语句,返回影响的记录数
  393. /// </summary>
  394. /// <param name="SQLString">SQL语句</param>
  395. /// <returns>影响的记录数</returns>
  396. public static int ExecuteSql(string SQLString, params MySqlParameter[] cmdParms)
  397. {
  398. using (MySqlConnection connection = new MySqlConnection(connectionString))
  399. {
  400. using (MySqlCommand cmd = new MySqlCommand())
  401. {
  402. try
  403. {
  404. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  405. int rows = cmd.ExecuteNonQuery();
  406. cmd.Parameters.Clear();
  407. return rows;
  408. }
  409. catch (MySql.Data.MySqlClient.MySqlException e)
  410. {
  411. throw e;
  412. }
  413. }
  414. }
  415. }
  416.  
  417. /// <summary>
  418. /// 执行多条SQL语句,实现数据库事务。
  419. /// </summary>
  420. /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
  421. public static void ExecuteSqlTran(Hashtable SQLStringList)
  422. {
  423. using (MySqlConnection conn = new MySqlConnection(connectionString))
  424. {
  425. conn.Open();
  426. using (MySqlTransaction trans = conn.BeginTransaction())
  427. {
  428. MySqlCommand cmd = new MySqlCommand();
  429. try
  430. {
  431. //循环
  432. foreach (DictionaryEntry myDE in SQLStringList)
  433. {
  434. string cmdText = myDE.Key.ToString();
  435. MySqlParameter[] cmdParms = (MySqlParameter[]) myDE.Value;
  436. PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
  437. int val = cmd.ExecuteNonQuery();
  438. cmd.Parameters.Clear();
  439. }
  440. trans.Commit();
  441. }
  442. catch
  443. {
  444. trans.Rollback();
  445. throw;
  446. }
  447. }
  448. }
  449. }
  450.  
  451. /// <summary>
  452. /// 执行多条SQL语句,实现数据库事务。
  453. /// </summary>
  454. /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
  455. public static int ExecuteSqlTran(System.Collections.Generic.List<CommandInfo> cmdList)
  456. {
  457. using (MySqlConnection conn = new MySqlConnection(connectionString))
  458. {
  459. conn.Open();
  460. using (MySqlTransaction trans = conn.BeginTransaction())
  461. {
  462. MySqlCommand cmd = new MySqlCommand();
  463. try
  464. {
  465. int count = 0;
  466. //循环
  467. foreach (CommandInfo myDE in cmdList)
  468. {
  469. string cmdText = myDE.CommandText;
  470. MySqlParameter[] cmdParms = (MySqlParameter[]) myDE.Parameters;
  471. PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
  472.  
  473. if (myDE.EffentNextType == EffentNextType.WhenHaveContine ||
  474. myDE.EffentNextType == EffentNextType.WhenNoHaveContine)
  475. {
  476. if (myDE.CommandText.ToLower().IndexOf("count(") == -1)
  477. {
  478. trans.Rollback();
  479. return 0;
  480. }
  481.  
  482. object obj = cmd.ExecuteScalar();
  483. bool isHave = false;
  484. if (obj == null && obj == DBNull.Value)
  485. {
  486. isHave = false;
  487. }
  488. isHave = Convert.ToInt32(obj) > 0;
  489.  
  490. if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave)
  491. {
  492. trans.Rollback();
  493. return 0;
  494. }
  495. if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave)
  496. {
  497. trans.Rollback();
  498. return 0;
  499. }
  500. continue;
  501. }
  502. int val = cmd.ExecuteNonQuery();
  503. count += val;
  504. if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0)
  505. {
  506. trans.Rollback();
  507. return 0;
  508. }
  509. cmd.Parameters.Clear();
  510. }
  511. trans.Commit();
  512. return count;
  513. }
  514. catch
  515. {
  516. trans.Rollback();
  517. throw;
  518. }
  519. }
  520. }
  521. }
  522.  
  523. /// <summary>
  524. /// 执行多条SQL语句,实现数据库事务。
  525. /// </summary>
  526. /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
  527. public static void ExecuteSqlTranWithIndentity(System.Collections.Generic.List<CommandInfo> SQLStringList)
  528. {
  529. using (MySqlConnection conn = new MySqlConnection(connectionString))
  530. {
  531. conn.Open();
  532. using (MySqlTransaction trans = conn.BeginTransaction())
  533. {
  534. MySqlCommand cmd = new MySqlCommand();
  535. try
  536. {
  537. int indentity = 0;
  538. //循环
  539. foreach (CommandInfo myDE in SQLStringList)
  540. {
  541. string cmdText = myDE.CommandText;
  542. MySqlParameter[] cmdParms = (MySqlParameter[]) myDE.Parameters;
  543. foreach (MySqlParameter q in cmdParms)
  544. {
  545. if (q.Direction == ParameterDirection.InputOutput)
  546. {
  547. q.Value = indentity;
  548. }
  549. }
  550. PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
  551. int val = cmd.ExecuteNonQuery();
  552. foreach (MySqlParameter q in cmdParms)
  553. {
  554. if (q.Direction == ParameterDirection.Output)
  555. {
  556. indentity = Convert.ToInt32(q.Value);
  557. }
  558. }
  559. cmd.Parameters.Clear();
  560. }
  561. trans.Commit();
  562. }
  563. catch
  564. {
  565. trans.Rollback();
  566. throw;
  567. }
  568. }
  569. }
  570. }
  571.  
  572. /// <summary>
  573. /// 执行多条SQL语句,实现数据库事务。
  574. /// </summary>
  575. /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
  576. public static void ExecuteSqlTranWithIndentity(Hashtable SQLStringList)
  577. {
  578. using (MySqlConnection conn = new MySqlConnection(connectionString))
  579. {
  580. conn.Open();
  581. using (MySqlTransaction trans = conn.BeginTransaction())
  582. {
  583. MySqlCommand cmd = new MySqlCommand();
  584. try
  585. {
  586. int indentity = 0;
  587. //循环
  588. foreach (DictionaryEntry myDE in SQLStringList)
  589. {
  590. string cmdText = myDE.Key.ToString();
  591. MySqlParameter[] cmdParms = (MySqlParameter[]) myDE.Value;
  592. foreach (MySqlParameter q in cmdParms)
  593. {
  594. if (q.Direction == ParameterDirection.InputOutput)
  595. {
  596. q.Value = indentity;
  597. }
  598. }
  599. PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
  600. int val = cmd.ExecuteNonQuery();
  601. foreach (MySqlParameter q in cmdParms)
  602. {
  603. if (q.Direction == ParameterDirection.Output)
  604. {
  605. indentity = Convert.ToInt32(q.Value);
  606. }
  607. }
  608. cmd.Parameters.Clear();
  609. }
  610. trans.Commit();
  611. }
  612. catch
  613. {
  614. trans.Rollback();
  615. throw;
  616. }
  617. }
  618. }
  619. }
  620.  
  621. /// <summary>
  622. /// 执行一条计算查询结果语句,返回查询结果(object)。
  623. /// </summary>
  624. /// <param name="SQLString">计算查询结果语句</param>
  625. /// <returns>查询结果(object)</returns>
  626. public static object GetSingle(string SQLString, params MySqlParameter[] cmdParms)
  627. {
  628. using (MySqlConnection connection = new MySqlConnection(connectionString))
  629. {
  630. using (MySqlCommand cmd = new MySqlCommand())
  631. {
  632. try
  633. {
  634. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  635. object obj = cmd.ExecuteScalar();
  636. cmd.Parameters.Clear();
  637. if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  638. {
  639. return null;
  640. }
  641. else
  642. {
  643. return obj;
  644. }
  645. }
  646. catch (MySql.Data.MySqlClient.MySqlException e)
  647. {
  648. throw e;
  649. }
  650. }
  651. }
  652. }
  653.  
  654. /// <summary>
  655. /// 执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close )
  656. /// </summary>
  657. /// <param name="strSQL">查询语句</param>
  658. /// <returns>MySqlDataReader</returns>
  659. public static MySqlDataReader ExecuteReader(string SQLString, params MySqlParameter[] cmdParms)
  660. {
  661. MySqlConnection connection = new MySqlConnection(connectionString);
  662. MySqlCommand cmd = new MySqlCommand();
  663. try
  664. {
  665. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  666. MySqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  667. cmd.Parameters.Clear();
  668. return myReader;
  669. }
  670. catch (MySql.Data.MySqlClient.MySqlException e)
  671. {
  672. throw e;
  673. }
  674. // finally
  675. // {
  676. // cmd.Dispose();
  677. // connection.Close();
  678. // }
  679.  
  680. }
  681.  
  682. /// <summary>
  683. /// 执行查询语句,返回DataSet
  684. /// </summary>
  685. /// <param name="SQLString">查询语句</param>
  686. /// <returns>DataSet</returns>
  687. public static DataSet Query(string SQLString, params MySqlParameter[] cmdParms)
  688. {
  689. using (MySqlConnection connection = new MySqlConnection(connectionString))
  690. {
  691. MySqlCommand cmd = new MySqlCommand();
  692. PrepareCommand(cmd, connection, null, SQLString, cmdParms);
  693. using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
  694. {
  695. DataSet ds = new DataSet();
  696. try
  697. {
  698. da.Fill(ds, "ds");
  699. cmd.Parameters.Clear();
  700. }
  701. catch (MySql.Data.MySqlClient.MySqlException ex)
  702. {
  703. throw new Exception(ex.Message);
  704. }
  705. return ds;
  706. }
  707. }
  708. }
  709.  
  710. private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText,
  711. MySqlParameter[] cmdParms)
  712. {
  713. if (conn.State != ConnectionState.Open)
  714. conn.Open();
  715. cmd.Connection = conn;
  716. cmd.CommandText = cmdText;
  717. if (trans != null)
  718. cmd.Transaction = trans;
  719. cmd.CommandType = CommandType.Text; //cmdType;
  720. if (cmdParms != null)
  721. {
  722. foreach (MySqlParameter parameter in cmdParms)
  723. {
  724. if ((parameter.Direction == ParameterDirection.InputOutput ||
  725. parameter.Direction == ParameterDirection.Input) &&
  726. (parameter.Value == null))
  727. {
  728. parameter.Value = DBNull.Value;
  729. }
  730. cmd.Parameters.Add(parameter);
  731. }
  732. }
  733. }
  734.  
  735. #endregion
  736.  
  737. }

ADO.NET FOR MySQL帮助类的更多相关文章

  1. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

  2. ecshop的Mysql操作类

    摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php /** * ECSHOP MY ...

  3. 深入理解php的MySQL连接类

    php的MySQL连接类.  后面几个show_databases和show_tables....等方法都用了一堆echo,好像一直不喜欢在类的方法里直接用输出语句,不过这也只是列举数据库和表名,构造 ...

  4. php+mysql分页类的入门实例

    php+mysql分页类的简单代码 时间:2016-02-25 06:16:26来源:网络 导读:php+mysql分页类的简单代码,二个php分页类代码,对商品进行分页展示,当前页面数,每个页面展示 ...

  5. C#操作MySQL的类

    C#操作MySQL的类 public class MySqlService { private static log4net.ILog logger = log4net.LogManager.GetL ...

  6. PHP:自己写的mysql操作类

    a{ font-weight: bold; display: block; text-align: center; color: #5887bf; font-size: 22px; } .conten ...

  7. 着重基础之—MySql Blob类型和Text类型

    着重基础之—MySql Blob类型和Text类型 在经历了几个Java项目后,遇到了一些问题,在解决问题中体会到基础需要不断的回顾与巩固. 最近做的项目中,提供给接口调用方数据同步接口,传输的数据格 ...

  8. VS2013使用EF6通过ADO.NET 连接mySql成功步骤

    VS2013使用EF6通过ADO.NET 连接mySql成功步骤 1.安装mysql-for-visualstudio-1.2.6(我用的目前最新版,这个一般安装VS2013就已经有了,没有的话下载一 ...

  9. mysql连接类与ORM的封装

    ORM: - ORM什么是? 类名 ---> 数据库表 对象 ---> 记录 对象.属性 ---> 字段 - ORM的优缺点: 优点: 可跨平台,可以通过对象.属性取值,对象.方法, ...

随机推荐

  1. iterm快捷键及操作技巧(附Linux快捷键)

    标签操作 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:com ...

  2. 普林斯顿大学算法课 Algorithm Part I Week 3 求第K大数 Selection

    问题 给定N个元素的数组,求第k大的数. 特例当k=0时,就是求最大值,当k=N-1时,就是求最小值. 应用顺序统计求top N排行榜 基本思想 使用快速排序方法中的分区思想,使得a[k]左侧没有更小 ...

  3. AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听

    在前面介绍了几种动画效果:透明动画效果(AlphsAnimation).移动动画效果(TranslateAnimation).旋转动画效果(RotateAnimation).缩放动画效果(ScaleA ...

  4. ftk学习记(icon篇)

    [声明:版权全部,欢迎转载.请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在開始今天的文章之前.我们还是先看一下上一节的效果图. 大家能够參照上一节的解说,是不是存在这种 ...

  5. android 混淆配置

    proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到.为了防止重要code 被泄露,我们往往需要混淆( ...

  6. C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果

    //播放时  图片周围有锯齿白边出现    反锯齿处理暂无解决办法. 如有大神 请给我留言 新Form    AllowDrop True 引用using System.IO; 拖1个Button p ...

  7. asp.net BulletedList样式修改 css

    首先编写一段简单的css脚本 然后呢,在asp:BulletedList中通过 CssClass ="style1"将样式作用到控件上.看看运行效果 注意到上下边框的颜色分别是红色 ...

  8. Asp.Net之三层架构

    三层架构之理论: 通常意义上讲的三层架构就是将整个项目应用划分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL).与传统的二层架构的区别在于在用户界面(UI)和数据库服务器之间,添加中间层 ...

  9. Oracle的表连接方式

    Oracle的表连接方式: 1.Nl Join连接(嵌套连接) 2.Hash Join(哈希连接) 3.Merge Sort Join(排序合并连接) 各种连接的使用场景: 1. 排序合并连接是偏向于 ...

  10. python dbhelper(simple orm)

    # coding:utf- import pymysql class Field(object): pass class Expr(object): def __init__(self, model, ...