在开发短信系统的时候,碰到接收时需要回调,因本人新手,不了解回调,按着示例代码,可以弹出对话框显示接收的信息,但是不知道怎么吧这些信息存到数据库中,请大家指教,详细代码如下: // 引用接收短信DLL
[DllImport("EUCPComm.dll", EntryPoint = "ReceiveSMS")]
public static extern int ReceiveSMS(string sn, deleSQF mySmsContent);
public delegate void deleSQF(string mobile, string senderaddi, string recvaddi, string ct, string sd, ref int flag);
deleSQF mySmsContent = new deleSQF(getSMSContent); //再此处,可弹出对话框显示短信内容
public static void getSMSContent(string mobile, string senderaddi, string recvaddi, string ct, string sd, ref int flag)
{
string mob = mobile;
string content = ct;
int myflag = flag;
MessageBox.Show( mobile + "/" + senderaddi + "/" + recvaddi + "/" + ct + "/" + sd + "/" + flag);
} //这是单击按钮接收
private void button5_Click(object sender, EventArgs e)
{
deleSQF mySmsContent = new deleSQF(getSMSContent);
//接收短信 序列号 函数指针
int result = 2;
while (result == 2) //当result = 2 时,说明还有下一批短信等待接收,这时需重新再调用一次ReceiveSMS方法
{
result = ReceiveSMS(textBox1.Text, mySmsContent);
if (result == 1)
{
textBox3.Text += "接收短信成功'"+DateTime.Now.ToString()+"'\r\n";
//ReceiveMsg recMsg = new ReceiveMsg();
}
else if (result == 101)
{
textBox3.Text += "网络故障'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 102)
{
textBox3.Text += "其它故障'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 105)
{
textBox3.Text += "参数指针为空'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 0)
{
textBox3.Text += "失败'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == -1)
{
textBox3.Text += "未知故障'" + DateTime.Now.ToString() + "'\r\n";
}
}
}现在我的需求就是将接收到的信息存到数据库里面,或者显示到TEXTBOX3里面,显示到TEXTBOX3我就知道改怎么存到数据库了,希望大家帮忙看看,谢谢!!!
[DllImport("EUCPComm.dll", EntryPoint = "ReceiveSMS")]
public static extern int ReceiveSMS(string sn, deleSQF mySmsContent);
public delegate void deleSQF(string mobile, string senderaddi, string recvaddi, string ct, string sd, ref int flag);
deleSQF mySmsContent = new deleSQF(getSMSContent); //再此处,可弹出对话框显示短信内容
public static void getSMSContent(string mobile, string senderaddi, string recvaddi, string ct, string sd, ref int flag)
{
string mob = mobile;
string content = ct;
int myflag = flag;
MessageBox.Show( mobile + "/" + senderaddi + "/" + recvaddi + "/" + ct + "/" + sd + "/" + flag);
} //这是单击按钮接收
private void button5_Click(object sender, EventArgs e)
{
deleSQF mySmsContent = new deleSQF(getSMSContent);
//接收短信 序列号 函数指针
int result = 2;
while (result == 2) //当result = 2 时,说明还有下一批短信等待接收,这时需重新再调用一次ReceiveSMS方法
{
result = ReceiveSMS(textBox1.Text, mySmsContent);
if (result == 1)
{
textBox3.Text += "接收短信成功'"+DateTime.Now.ToString()+"'\r\n";
//ReceiveMsg recMsg = new ReceiveMsg();
}
else if (result == 101)
{
textBox3.Text += "网络故障'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 102)
{
textBox3.Text += "其它故障'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 105)
{
textBox3.Text += "参数指针为空'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == 0)
{
textBox3.Text += "失败'" + DateTime.Now.ToString() + "'\r\n";
}
else if (result == -1)
{
textBox3.Text += "未知故障'" + DateTime.Now.ToString() + "'\r\n";
}
}
}现在我的需求就是将接收到的信息存到数据库里面,或者显示到TEXTBOX3里面,显示到TEXTBOX3我就知道改怎么存到数据库了,希望大家帮忙看看,谢谢!!!
{
string mob = mobile;
string content = ct;
int myflag = flag;
extBox3.text= mobile + "/" + senderaddi + "/" + recvaddi + "/" + ct + "/" + sd + "/" + flag;
}
顶
// 参数就是得到的value (string mobile, string senderaddi, string recvaddi, string ct, string sd, ref int flag)
//在getSMSContent里添加:
textBox3.Text +=mobile + "/" + senderaddi + "/" + recvaddi + "/" + ct + "/" + sd + "/" + flag.toString();
错误 1 非静态的字段、方法或属性“WinFormsDemo.Form1.textBox3”要求对象引用