📄 sqlprotocol.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using FirebirdSql.Data.FirebirdClient;
namespace SqlGibphone
{
public class IProtocol
{
public string Username;
public string Password;
public object[] Args;
}
public static class SqlProtocolList
{
#region IList<IProtocol> Members
public static int IndexOf(IProtocol item)
{
int i = -1;
Sql.ExecuteReader(new Sql.ActOnReadQuery(delegate(FbDataReader read)
{
while (read.Read())
i = read.GetInt32(0);
return true;
}), "Select ProtocolID from Protocols where Username = '{0}', ProtocolType = '{1}'", item.Username, item.GetType().ToString());
return i;
}
public static void RemoveAt(int index)
{
Sql.ExecuteNonQuery("Delete from Protocols where ProtocolID = {0}", index);
}
#endregion
#region ICollection<IProtocol> Members
public static void Add(IProtocol item)
{
Add(item, false);
}
public static void Add(IProtocol item,bool autoload)
{
Sql.ExecuteNonQuery("Insert into Protocols (Username, Password, ProtocolType,OtherInformation, AutoLoad) values ('{0}','{1}','{2}',{3})", item.Username, item.Password, item.GetType().FullName, item.Args,(autoload == true ? 1 : 0));
}
public static void Clear()
{
Sql.ExecuteNonQuery("Delete from Protocols where ProtocolID > -1");
}
public static bool Contains(IProtocol item)
{
bool exists = false;
Sql.ExecuteReader(new Sql.ActOnReadQuery(delegate(FbDataReader read)
{
while (read.Read())
exists = true;
return true;
}), "select * from Protocols where ProtocolID = {0}", IndexOf(item));
return exists;
}
public static int Count
{
get
{
int i = 0;
Sql.ExecuteReader(new Sql.ActOnReadQuery(delegate(FbDataReader read)
{
while (read.Read())
i = read.GetInt32(0);
return true;
}), "Select count(ProtocolID) from Protocols");
return i;
}
}
public static void Remove(IProtocol item)
{
RemoveAt(IndexOf(item));
}
#endregion
#region IEnumerator<IProtocol> GetEnumerator()
public static IEnumerator<IProtocol> GetEnumerator()
{
FbCommand com = Sql.SqlDatabase.CreateCommand();
com.CommandText = "Select Username, ProtocolType from Protocols";
FbDataReader read = com.ExecuteReader();
while (read.Read())
{
string un = read.GetString(0);
string pt = read.GetString(1);
yield return new IProtocol();
}
read.Close();
com.Transaction.Commit();
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -