Я создаю простое приложение для отправки сообщения с использованием библиотеки gsmcomm и C#. когда я отправил сообщение через модем, я хранил его в базе данных оракула SENTMESSAGE стол. Я предоставляю таблицу при отправке сообщения, а не FAILEDMESSAGE таблица (ID, DATE, TIME, PHONENUMBER, MESSAGE), но я все еще не понимаю, как это реализовано.Как проверить успешное и неудачное отправление сообщения в библиотеке gsmcomm
Кто-нибудь может предложить мне, как различать отправку сообщения с успехом и неудачу в библиотеке gsmcomm?
это мой код для отправки сообщения:
private void btnSentSMS_Click(object sender, EventArgs e)
{
var msg = txtMessage.Text;
var phoneNumber = txtNumber.Text;
var pdu = new SmsSubmitPdu(msg, phoneNumber, string.Empty);
comm.SendMessage(pdu);
MessageBox.Show("sms sent");
//STORE SEND SMS TO DATABASE
OracleCommand cmd = new OracleCommand();
cmd.CommandText = @"INSERT INTO SENTMESSAGE (ID, DATE, TIME, PHONENUMBER, MESSAGE) VALUES
(SQ_SENTMESSAGE.NEXTVAL, '" + DateTime.Now + "', TO_DATE('" + DateTime.Now + "', 'dd/MM/yyyy hh24:mi:ss'), '"
+ phoneNumber + "', '" + msg + "')";
cmd.Connection = koneksi_manual.con;
koneksi_manual.con.Open();// <= Open connection before executing the command.
cmd.ExecuteNonQuery();
koneksi_manual.con.Close(); //closing connection
}
Ваш вопрос непонятен, но вы всегда должны использовать [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. И используйте инструкцию 'using' для размещения ваших соединений и команд. –
по мне это понятно, .. я просто хочу отправить сообщение с помощью библиотеки gsmcomm и сохранить его в базе данных, .... что с этим не так? – aminvincent