首页 > 学院 > 开发设计 > 正文

自己封装的ASP.NET的MYSQL的数据库操作类

2019-11-17 01:42:02
字体:
来源:转载
供稿:网友

自己封装的asp.net的MySQL数据库操作类

  1. /**
  2. *作者:牛腩
  3. *创建时间:2010年3月7日17时35分
  4. *类说明:对MYSQL数据库的操作类
  5. */
  6. usingSystem;
  7. usingSystem.Data;
  8. usingMySql.Data.MySqlClient;
  9. namespaceNiunan.BYLW.Utility
  10. {
  11. ///<summary>对MYSQL数据库的操作类
  12. ///
  13. ///</summary>
  14. publicclassMYSQLHelper
  15. {
  16. PRivateMySqlConnectionconn=null;
  17. privateMySqlCommandcmd=null;
  18. privateMySqlDataReadersdr=null;
  19. publicMYSQLHelper()
  20. {
  21. //stringconnStr=WebConfigurationManager.ConnectionStrings["connStr"].ToString();
  22. stringconnStr="server=localhost;database=test;uid=root;pwd=123456;charset=utf8";
  23. conn=newMySqlConnection(connStr);
  24. }
  25. ///<summary>创建Command对象
  26. ///
  27. ///</summary>
  28. ///<paramname="sql">SQL语句</param>
  29. publicvoidCreateCommand(stringsql)
  30. {
  31. conn.Open();
  32. cmd=newMySqlCommand(sql,conn);
  33. }
  34. ///<summary>添加参数
  35. ///
  36. ///</summary>
  37. ///<paramname="paramName">参数名称</param>
  38. ///<paramname="value">值</param>
  39. publicvoidAddParameter(stringparamName,objectvalue)
  40. {
  41. cmd.Parameters.Add(newMySqlParameter(paramName,value));
  42. }
  43. ///<summary>执行不带参数的增删改SQL语句
  44. ///
  45. ///</summary>
  46. ///<paramname="cmdText">增删改SQL语句</param>
  47. ///<paramname="ct">命令类型</param>
  48. ///<returns></returns>
  49. publicboolExecuteNonQuery()
  50. {
  51. intres;
  52. try
  53. {
  54. res=cmd.ExecuteNonQuery();
  55. if(res>0)
  56. {
  57. returntrue;
  58. }
  59. }
  60. catch(Exceptionex)
  61. {
  62. throwex;
  63. }
  64. finally
  65. {
  66. if(conn.State==ConnectionState.Open)
  67. {
  68. conn.Close();
  69. }
  70. }
  71. returnfalse;
  72. }
  73. ///<summary>执行查询SQL语句
  74. ///
  75. ///</summary>
  76. ///<paramname="cmdText">查询SQL语句</param>
  77. ///<returns></returns>
  78. publicDataTableExecuteQuery()
  79. {
  80. DataTabledt=newDataTable();
  81. using(sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))
  82. {
  83. dt.Load(sdr);
  84. }
  85. returndt;
  86. }
  87. ///<summary>返回查询SQL语句查询出的结果的第一行第一列的值
  88. ///
  89. ///</summary>
  90. ///<returns></returns>
  91. publicstringExecuteScalar()
  92. {
  93. stringres="";
  94. try
  95. {
  96. objectobj=cmd.ExecuteScalar();
  97. if(obj!=null)
  98. {
  99. res=obj.ToString();
  100. }
  101. }
  102. catch(Exceptionex)
  103. {
  104. throwex;
  105. }
  106. finally
  107. {
  108. if(conn.State==ConnectionState.Open)
  109. {
  110. conn.Close();
  111. }
  112. }
  113. returnres;
  114. }
  115. }
  116. }

都是把那个SQLITEHelper的操作类搬过来的,改了MySqlConnection等变量名,对MYSQL来说经常会出现中文乱码,经实验,解决方法:

① 用phpMYADMIN建立MYSQL数据库的时候记得选择UTF-8的编码

② 在上面的数据库操作类中的连接字符串中记得加上charset=utf8

这样用上面的操作类来插入中文就不会出现乱码了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表