c# 仿QQ程序(3)

2009年3月28日星期六

c# 仿QQ程序(3)

public static bool doZoneCommand(string sql)
{ // 执行空间命令
try
{
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlCommand cmd = new SqlCommand(sql, Con);
cmd.ExecuteNonQuery();
return (true);
}
catch
{
return (false);
}
}

public static DataSet GetStyleList()
{ // 获取系统中的所有样式
string sql = "select * from viGetStyleList";
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, Con);
DataSet ds = new DataSet();
da.Fill(ds);
Con.Close();
da.Dispose();
return (ds);
}

public static DataSet GetModelList(string uid)
{ // 根据用户名获取所有模块列表

DataSet ds = new DataSet();
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlDataAdapter da = new SqlDataAdapter("GetModelList", Con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter ZoneOwner = da.SelectCommand.Parameters.Add("@ZoneOwner", SqlDbType.Char, 8);
ZoneOwner.Direction = ParameterDirection.Input;
ZoneOwner.Value = uid;
da.Fill(ds);
Con.Close();
da.Dispose();
return (ds);
}

public static string MakeNewModel(string modelname, string user)
{// 创建新的模块
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlCommand cmd = new SqlCommand("MakeNewModel", Con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter ModelName = cmd.Parameters.Add("@ModelName", SqlDbType.VarChar, 20);
SqlParameter ModelOwner = cmd.Parameters.Add("@ModelOwner", SqlDbType.Char, 8);
SqlParameter Result = cmd.Parameters.Add("@Result", SqlDbType.Int);
ModelName.Direction = ParameterDirection.Input;
ModelOwner.Direction = ParameterDirection.Input;
Result.Direction = ParameterDirection.Output;
ModelName.Value = modelname;
ModelOwner.Value = user;
cmd.ExecuteNonQuery();
Con.Close();
switch (Result.Value.ToString().Trim())
{
case "0":
return ("该模块名称已经存在!");
case "1":
return ("添加模块成功!");
default:
return ("未知错误!");
}
}

public static bool ReNameModel(string modelid, string modelname)
{// 重命名模块

try
{
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlCommand cmd = new SqlCommand("ReNameModel", Con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter ModelId = cmd.Parameters.Add("@ModelId", SqlDbType.Int);
SqlParameter ModelName = cmd.Parameters.Add("@ModelName", SqlDbType.VarChar, 20);
ModelId.Direction = ParameterDirection.Input;
ModelName.Direction = ParameterDirection.Input;
ModelId.Value = Convert.ToInt32(modelid);
ModelName.Value = modelname;
cmd.ExecuteNonQuery();
Con.Close();
return (true);
}
catch
{
return (false);
}
}

public static bool AddNewArt(string cArtName, string tArtContent, string iModeId)
{ // 发布新的日志
try
{
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlCommand cmd = new SqlCommand("AddNewArt", Con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter ModeId = cmd.Parameters.Add("@ModeId", SqlDbType.Int);
SqlParameter ArtName = cmd.Parameters.Add("@ArtName", SqlDbType.VarChar, 20);
SqlParameter ArtContent = cmd.Parameters.Add("@ArtContent", SqlDbType.Text);
SqlParameter PubTime = cmd.Parameters.Add("@PubTime", SqlDbType.Char, 10);
ModeId.Direction = ParameterDirection.Input;
ArtName.Direction = ParameterDirection.Input;
ArtContent.Direction = ParameterDirection.Input;
PubTime.Direction = ParameterDirection.Input;
ModeId.Value = iModeId;
ArtName.Value = cArtName;
ArtContent.Value = tArtContent;
PubTime.Value = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
cmd.ExecuteNonQuery();
Con.Close();
return (true);
}
catch
{
return (false);
}
}

public static DataSet GetArtList(string SelectModel,string modeid, string modeowner)
{ // 获取文章列表

DataSet ds = new DataSet();
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlDataAdapter da = new SqlDataAdapter("GetArtList", Con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter Model = da.SelectCommand.Parameters.Add("@Model", SqlDbType.Int);
SqlParameter ModeId = da.SelectCommand.Parameters.Add("@ModeId", SqlDbType.Int);
SqlParameter ModeOwner = da.SelectCommand.Parameters.Add("@ModeOwner", SqlDbType.Char, 8);
Model.Direction = ParameterDirection.Input;
ModeId.Direction = ParameterDirection.Input;
ModeOwner.Direction = ParameterDirection.Input;
Model.Value = Convert.ToInt32(SelectModel);
ModeId.Value = Convert.ToInt32(modeid);
ModeOwner.Value = modeowner;
da.Fill(ds);
da.Dispose();
Con.Close();
return (ds);
}
public static SqlDataReader ReadArtById(string Id)
{ // 获取文章的具体信息

SqlDataReader dr;
SqlConnection Con = SqlConnectionTest.GetConnection();
Con.Open();
SqlCommand cmd = new SqlCommand("ReadArt", Con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter ArtId = cmd.Parameters.Add("@ArtId", SqlDbType.Int);
ArtId.Direction = ParameterDirection.Input;
ArtId.Value = Convert.ToInt32(Id);
dr = cmd.ExecuteReader();
if (dr.Read())
{
return (dr);
}
else
{
return (null);
}
cmd.Dispose();
Con.Close();
}
}







添加新类 XmlFileOp 提供对xml文件的操作!



using System;
using System.Collections.Generic;
using System.Text;
using System.IO;



public class XmlFileOp
{

// 删除指定的文件
public static bool DelThisFile(string FileUrl)
{
try
{
File.Delete(FileUrl);
return (true);
}
catch
{
return (false);
}
}
}





添加新类 XmlOperate xml数据操作类





using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Xml;
using System.IO;





public class XmlOperate
{
private DataSet FriendData; //好友信息

public string MakeFriendXml(string UserNum)
{// 生成好友列表xml文件
try
{
MakeRootFile(UserNum);
FriendData = opDate.GetFriendLsit(UserNum); // 获取好友列表
XmlNode AddHere = null;
for (int i = 0; i < FriendData.Tables[0].Rows.Count; i++)
{
XmlDataDocument temp = new XmlDataDocument();
temp.Load("temp\\" + UserNum.Trim() + ".xml");
XmlElement friend = temp.CreateElement("friend");
XmlElement FriendNumber = temp.CreateElement("FriendNumber");
XmlElement FriendName = temp.CreateElement("FriendName");
string GroupName = FriendData.Tables[0].Rows[i]["cGroupName"].ToString().Trim();
XmlNodeList AllGroup = temp.SelectSingleNode("root").ChildNodes;
foreach (XmlNode node in AllGroup)
{
if (node.Attributes["GroupName"].Value.Trim() == GroupName)
{
AddHere = node;
FriendName.InnerText = FriendData.Tables[0].Rows[i]["cUserName"].ToString().Trim();
FriendNumber.InnerText = FriendData.Tables[0].Rows[i]["cFriendNum"].ToString().Trim();
friend.AppendChild(FriendNumber);
friend.AppendChild(FriendName);
AddHere.AppendChild(friend);
break;
}
}
temp.Save("temp\\" + UserNum.Trim() + ".xml");
}
return ("temp\\" + UserNum.Trim() + ".xml");
}
catch
{
return ("-1");
}
}
public static bool AddOnlineUser(string QQNumber, string IpEndPoint)
{
string XmlUrl = "onlineinf\\onLine.xml";
if (!File.Exists(XmlUrl))
{
File.Create(XmlUrl).Close();
StringBuilder add = new StringBuilder();
StreamWriter str = new StreamWriter(XmlUrl);
add.Append("");
add.Append("");
str.Write(add.ToString());
str.Close();
}
XmlDataDocument XmlData = new XmlDataDocument();
XmlData.Load(XmlUrl);
XmlNode root = XmlData.SelectSingleNode("root");
if (!IsThisUserOnline(XmlData, QQNumber,IpEndPoint))
{
XmlElement online = XmlData.CreateElement("online");
XmlElement QQnumber = XmlData.CreateElement("QQnumber");
XmlElement Ipendpoint = XmlData.CreateElement("IpEndPoint");
QQnumber.InnerText = QQNumber;
Ipendpoint.InnerText = IpEndPoint;
online.AppendChild(QQnumber);
online.AppendChild(Ipendpoint);
root.AppendChild(online);
}
XmlData.Save(XmlUrl);
return (true);
}
private static bool IsThisUserOnline(XmlDataDocument Xml, string uid, string IpEndPoint)
{
XmlNode root = Xml.SelectSingleNode("root");
for (int i = 0; i < root.ChildNodes.Count; i++)
{
if (uid.Trim() == root.ChildNodes[i].ChildNodes[0].InnerText.Trim())
{
root.ChildNodes[i].ChildNodes[1].InnerText = IpEndPoint;
return (true);
}
else
{
continue;
}
}
return (false);
}
private void MakeRootFile(string uid)
{
StringBuilder FriendInf = new StringBuilder();
StreamWriter temp = new StreamWriter("temp\\" + uid.Trim() + ".xml");
DataSet FriendData = opDate.GetGroupInfByUserId(uid,1);
FriendInf.Append("");
FriendInf.Append("");
if (FriendData == null)
{
FriendInf.Append("");
}
else
{
for (int i = 0; i < FriendData.Tables[0].Rows.Count; i++)
{
FriendInf.Append(" FriendInf.Append(FriendData.Tables[0].Rows[i]["cGroupName"].ToString().Trim());
FriendInf.Append("\">
");
}
}
FriendInf.Append("
");
temp.Write(FriendInf.ToString());
temp.Close();
}
}

0 评论:

发表评论