2016-03-31 22 views
0

AT Komutu kullanarak çok veya toplu sms göndermeye çalışıyorum. Tüm numarayı datagrid içine göndermeyi deniyorum ama sadece ilk numara gönderiyor.AT komutları ile birden çok sms gönder VB.NET

Bana bunun başarılı mesajı apppears çünkü döngü' işe yarıyor benim kod

Dim sql As New MySqlDataAdapter("select StudentID, StudentName,StudentContact, DueDate FROM issue inner join student on student.StudentID = issue.Student ", conn) 
    Dim ds As New DataSet 
    sql.Fill(ds, 0) 
    For i As Integer = 0 To ds.Tables(0).Rows.Count - 1 
     Dim wholenum As String 
     Dim wholesms As String 
     wholenum = ds.Tables(0).Rows(i).Item(2).ToString 
     wholesms = "Hello " & ds.Tables(0).Rows(i).Item(1).ToString & ", this is your Due Date " & ds.Tables(0).Rows(i).Item(3).ToString & " pls return it on your due date" 

     If SerialPort1.IsOpen Then 
      Try 
       With SerialPort1 
        .Write("AT" & vbCrLf) 
        .Write("AT+CMGF=1" & vbCrLf) 
        .Write("AT+CMGS=" & Chr(34) & wholenum & Chr(34) & vbCrLf) 
        .Write(wholesms & Chr(26)) 



        MsgBox("Success sa SEND") 


        'update one 

        'Call ConnectDatabase() 
        'com = New MySqlCommand("UPDATE issue SET Sent='1' ", conn) 
        'com.ExecuteNonQuery() 
        'Call DisconnectDatabase() 

       End With 

      Catch ex As Exception 
       MsgBox("Bad Signal or No load") 
      End Try 

     Else 
      MsgBox("Pls insert a modem") 
     End If 

nasıl datagrid görünümünde içinde birçok. Ama sadece ilk numarayı gönderir.

cevap

0

AT komut işlemlerinizi önemli ölçüde düzeltmeniz gerekir. Her şeyden önce okumak ve ayrıştırmak için modeminin bir AT komut satırı gönderdikten sonra size geri gönderdiği her şeyi (bu arada sadece "\r" ve vbCrLf ile sonlandırılmalıdır).

Nihai sonuç kodunu almadan önce yeni bir komut satırı göndermeye başlamamalısınız. Ve AT+CMGS için özellikle "\r\n >" önekini almadan önce sms yükünü göndermemelisiniz.

Bu sorunlar, this ve this numaralı yanıt kapsamındadır. Ama yapmanız gereken ilk şey, bölümünün metninin tamamını okumaktır. AT komutlarıyla çalışırken, really important document'dur.