messagestodb.cs

来自「企业内部的短信交流管理平台。 设计详细」· CS 代码 · 共 60 行

CS
60
字号
using System;
using System.Data;
using System.Data.SqlClient;

namespace Com.SMS.SMSUI.Core
{
	/// <summary>
	/// MessagesToDB 的摘要说明。
	/// </summary>
	public class MessagesToDB
	{
		static int noSaveCount = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["noSaveMaxCount"]);
		static int cacheLen = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["cacheLen"]);

		ChatContent.MessagesDataTable dt;

		public MessagesToDB(ChatContent.MessagesDataTable dt)
		{
			this.dt = dt;
		}
		public void Save()
		{
			ChatContent.MessagesDataTable dt = Logic.GetCacheContent().Messages;

			while (true)
			{
				DataRow[] rows = dt.Select("IsSave=0");
				if (rows.Length >= noSaveCount)
				{
					SqlConnection cn = new SqlConnection(Dal.SqlBasic.CONN_STRING);
					cn.Open();
					foreach (ChatContent.MessagesRow dr in rows)
					{
						Dal.SqlBasic.ExecuteNonQuery(
							cn,
							CommandType.Text,
							Dal.SqlCollections.SQL_MESSAGES_INSERT,
							new SqlParameter("@Content", dr.Content),
							new SqlParameter("@sender", dr.Sender),
							new SqlParameter("@recive", dr.Reciver),
							new SqlParameter("@sendTime", dr.sendTime)
							);
						dr.isSave = true;
					}
					cn.Close();
					dt.AcceptChanges();
				}

				while (dt.Count > cacheLen)
				{
					dt[0].Delete();
					dt.AcceptChanges();
				}

				System.Threading.Thread.Sleep(3000);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?