【发布时间】:2014-05-29 15:18:16
【问题描述】:
我正在构建一个 Windows 服务形式的 SMS 应用程序,它侦听 COM 端口上的新消息,然后将消息写入 SQL Server 数据库。我正在使用名为GSMComm 的第三方库来实现这一点。
问题是当我遍历从 GSM 调制解调器获得的消息集合,然后尝试将它们放入数据库时,它会引发异常
System.NotImplementedException:SmsDeliverPdu.ToString() 未实现。
有人可以帮忙吗?
private void SMSGetter()
{
Log("Getter Fired");
//var message = GSM.ReadMessage(4);
//GSM.ReadMessage(4);
//TcpClientChannel client = new TcpClientChannel();
//ChannelServices.RegisterChannel(client, false);
//string url = "192.168.100.67:2000";
//ISmsSender smssender = (ISmsSender)Activator.GetObject(typeof(ISmsSender), url);
try
{
DecodedShortMessage[] messages = Comm.ReadMessages(PhoneMessageStatus.All, PhoneStorageType.Sim);
SqlConnection Conn = new SqlConnection("Data Source=*******;Initial Catalog=****;User ID=*****;Password=*************");
SqlCommand com = new SqlCommand();
com.Connection = Conn;
Conn.Open();
foreach (DecodedShortMessage message in messages)
{
com.CommandText = ("INSERT INTO SMSArchives(Message,Blacklist) VALUES ('" +message.Data + "', 'Yes')");
com.ExecuteNonQuery();
//com.CommandText = ("INSERT INTO SMSArchives(Message,Blacklist) VALUES (@par1,@par2)");
//com.Parameters.AddWithValue("@par1", message.ToString());
//com.Parameters.AddWithValue("@par2", "Yes");
//com.ExecuteNonQuery();
}
Conn.Close();
return;
}
catch (Exception ex)
{
Log(ex.ToString());
}
}
【问题讨论】:
-
错误很明显,对那个类实现tostring
-
SmsDeliverPdu 这是一种类型吗?
-
似乎最后一个函数是从您的代码github.com/welly87/GSMComm/blob/master/PDUConverter/… 中的某处调用的
-
SmsDeliverPdu 是第三方库中的一个类,我已将代码重构为 message.data.Tostring() 但仍然出现相同的错误
标签: c# sql collections iteration