AccountOperate.cs
上传用户:shjujing
上传日期:2022-07-28
资源大小:11244k
文件大小:3k
源码类别:

Email客户端

开发平台:

Visual C++

  1. using System;
  2. using System.Data ;
  3. using System.Data .OleDb ;
  4. using System.Collections ;
  5. using System.Windows .Forms ;
  6. namespace MailManageSystem.RegisterAccount
  7. {
  8. /// <summary>
  9. /// AccountOperate 的摘要说明。
  10. /// </summary>
  11. public class AccountOperate
  12. {
  13. //定义一个连接数据库的字符串
  14. string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Application.StartupPath+"\Manage.mdb";
  15. public AccountOperate()
  16. {
  17. //
  18. // TODO: 在此处添加构造函数逻辑
  19. //
  20. }
  21. /// <summary>
  22. /// 向数据库中插入数据
  23. /// </summary>
  24. /// <param name="insert"></param>
  25. public void AddDelAccount(string insert)
  26. {
  27. OleDbConnection myconn=new OleDbConnection (conn);
  28. myconn.Open ();
  29. OleDbCommand cmd=new OleDbCommand(insert,myconn);
  30. try
  31. {
  32. cmd.ExecuteNonQuery ();
  33. }
  34. catch(Exception ex)
  35. {
  36. MessageBox.Show (ex.ToString ());
  37. }
  38. finally
  39. {
  40. myconn.Close ();
  41. }
  42. }
  43. /// <summary>
  44. /// 选中的帐户的相关信息
  45. /// </summary>
  46. /// <param name="sql">选择的语句</param>
  47. /// <returns></returns>
  48. public string[] AccountFileInfo(string sql)
  49. {
  50. string []AccountInfo=new string [5];
  51. OleDbConnection myconn=new OleDbConnection (conn);
  52. myconn.Open ();
  53. try
  54. {
  55. OleDbCommand mycmd=new OleDbCommand(sql,myconn);
  56. OleDbDataReader myread=mycmd.ExecuteReader ();
  57. while(myread.Read ())
  58. {
  59. AccountInfo[0]=myread["UserName"].ToString ();
  60. AccountInfo[1]=myread["Passw"].ToString ();
  61. AccountInfo[2]=myread["MailAddress"].ToString ();
  62. AccountInfo[3]=myread["Smtp"].ToString ();
  63. AccountInfo[4]=myread["port"].ToString ();
  64. }
  65. }
  66. catch(Exception ex)
  67. {
  68. MessageBox.Show (ex.ToString ());
  69. }
  70. finally
  71. {
  72. myconn.Close ();
  73. }
  74. return AccountInfo;
  75. }
  76. /// <summary>
  77. /// 从数据库中读出需要的数据(主要用于显示所有的帐户)
  78. /// </summary>
  79. /// <param name="sql">执行的语句</param>
  80. /// <returns></returns>
  81. public ArrayList ReadFromDataBase(string sql,string parameter)
  82. {
  83. ArrayList array=new ArrayList ();
  84. OleDbConnection myconn=new OleDbConnection (conn);
  85. myconn.Open ();
  86. try
  87. {
  88. OleDbCommand mycmd=new OleDbCommand(sql,myconn);
  89. OleDbDataReader myread=mycmd.ExecuteReader ();
  90. while(myread.Read ())
  91. {
  92. array.Add (myread[parameter]);
  93. }
  94. }
  95. catch(Exception ex)
  96. {
  97. MessageBox.Show (ex.ToString ());
  98. }
  99. finally
  100. {
  101. myconn.Close ();
  102. }
  103. return array;
  104. }
  105. /// <summary>
  106. /// 此函数的作用是来判断用户名是否已经被使用,调用的方法是通过Sql语句,以及一个字符串变量
  107. /// </summary>
  108. /// <param name="sql"></param>
  109. /// <param name="username"></param>
  110. /// <returns></returns>
  111. public bool CheckAccount(string sql,string username)
  112. {
  113. // 设置标志位用来标识是否被使用
  114. bool state=false;
  115. OleDbConnection myconn=new OleDbConnection (conn);
  116. myconn.Open ();
  117. OleDbCommand cmd2=new OleDbCommand(sql,myconn);
  118. OleDbDataReader myread=cmd2.ExecuteReader ();
  119. if(username!="")
  120. {
  121. try
  122. {
  123. while(myread.Read ())
  124. {
  125. //读取用户名来和用户输入的注册名匹配,如果匹配设置标志位为真
  126. if(myread.GetString (0).Trim()==username)
  127. {
  128. state=true;
  129. break;
  130. }
  131. }
  132. }
  133. catch(Exception E)
  134. {
  135. Console.WriteLine (E.ToString ());
  136. }
  137. finally
  138. {
  139. myread.Close ();
  140. myconn.Close ();
  141. }
  142. }
  143. return state;
  144. }
  145. }
  146. }