/// <summary> /// 获取上一条消息 /// </summary> /// <param name="chatIndex"></param> /// <returns></returns> public ChatMsgReceive GetBeforeRecordByChatIndex(string chatIndex, string sessionId) { ChatMsgReceive charMsg = null; string selectStr = $"select * from t_chat_message where chatIndex<>'{chatIndex}' and sendtime<>'' and sendtime not null and sessionId='{sessionId}' order by rowid desc limit 0,1"; using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.ConnStr(GlobalVariable.CompanyCode, AntSdkService.AntSdkLoginOutput.userId))) { SQLiteDataReader dataReader = SqliteHelper.ExecuteReader(conn, selectStr); if (dataReader == null) { return(null); } if (dataReader.Read()) { charMsg = new ChatMsgReceive(); //直接用GetString,如果值为DBNull,会报错 //charMsg.MTP = dataReader.GetString(0); charMsg.MTP = dataReader.GetValue(0).ToString(); charMsg.chatIndex = dataReader.GetValue(1).ToString(); charMsg.content = dataReader.GetValue(2).ToString(); charMsg.messageId = dataReader.GetValue(3).ToString(); charMsg.sendTime = dataReader.GetValue(4).ToString(); charMsg.sendUserId = dataReader.GetValue(5).ToString(); charMsg.sessionId = dataReader.GetValue(6).ToString(); charMsg.targetId = dataReader.GetValue(7).ToString(); charMsg.SENDORRECEIVE = dataReader.GetValue(8).ToString(); charMsg.sendsucessorfail = int.Parse(dataReader.GetValue(9).ToString()); charMsg.flag = dataReader.GetValue(10).ToString(); charMsg.readtime = dataReader.GetValue(11).ToString(); charMsg.uploadOrDownPath = dataReader.GetValue(12).ToString(); } dataReader.Close(); return(charMsg); } }
public T_Session GetModelByKey(string key) { try { T_Session session = null; string selectStr = string.Format("select * from T_Session where SessionId= '{0}'", key); using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.ConnStr(GlobalVariable.CompanyCode, AntSdkService.AntSdkLoginOutput.userId))) { SQLiteDataReader dataReader = SqliteHelper.ExecuteReader(conn, selectStr); if (dataReader == null) { return(null); } if (dataReader.Read()) { //"(SESSIONID VARCHAR(64),USERID VARCHAR(64),GROUPID VARCHAR(64),UNREADCOUNT INT, LASTMSG VARCHAR(4000), LASTMSGTIMESTAMP VARCHAR(64),LASTCHATINDEX VARCHAR(64),BURNUNREADCOUNT INT, BURNLASTMSG VARCHAR(4000), BURNLASTMSGTIMESTAMP VARCHAR(64),BURNLASTCHATINDEX VARCHAR(64),PRIMARY KEY(SESSIONID))"; session = new T_Session(); session.SessionId = dataReader.GetValue(0).ToString(); session.UserId = dataReader.GetValue(1).ToString(); session.GroupId = dataReader.GetValue(2).ToString(); session.UnreadCount = dataReader.GetInt32(3); session.LastMsg = dataReader.GetValue(4).ToString(); session.LastMsgTimeStamp = dataReader.GetValue(5).ToString(); session.LastChatIndex = dataReader.GetValue(6).ToString(); session.BurnUnreadCount = dataReader.GetInt32(7); session.BurnLastMsg = dataReader.GetValue(8).ToString(); session.BurnLastMsgTimeStamp = dataReader.GetValue(9).ToString(); session.BurnLastChatIndex = dataReader.GetValue(10).ToString(); session.IsBurnMode = dataReader.GetInt32(11); if (dataReader["topIndex"] == DBNull.Value) { session.TopIndex = null; } else { session.TopIndex = dataReader.GetInt32(12); } } dataReader.Close(); return(session); } } catch (Exception ex) { LogHelper.WriteError("[T_SessionDAL_GetModelByKey]" + ex.Message); return(null); } }