Jak odeslat SMS z C# pomocí SQL Serveru
Stáhnout:
Sending_SMS_through_MS_SQL_Server.zip
Podívejte se, jak odesílat SMS vkládáním řádků do databáze Microsoft SQL prostřednictvím aplikace v C#.NET. Tato technologie je určena pro vývojáře se základními znalostmi v C#.NET a SQL. Ke stažení je zdrojový kód, který vám pomůže začít.
V následujících kapitolách najdete požadované předpoklady a podrobné vysvětlení, jak kód používat. Užitečný diagram pracovního postupu ukazuje základní spojení mezi uživatelem aplikace v C# a telefonem příjemce.
Kód je užitečný, pokud chcete
- přidat funkci SMS do vaší aplikace v C#.
- integrovat automatizovaná SMS oznámení.
- zabezpečit své produkty přidáním SMS přihlášení.
Předpoklady
Softwarové požadavky systému jsou uvedeny v následující tabulce. Prosím, stáhněte si SMS Gateway a nainstalujte software SMS Gateway s .NET frameworkem 4.5 a Microsoft Visual Studio pro spuštění vašeho kódu.
Operační systém: | Windows 11, Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2008 R2, Windows Vista |
Základní softwarové požadavky: |
.NET Framework 4.5
Ozeki SMS Gateway Microsoft SQL Server 2016 Express Edition nebo novější verze Microsoft SQL Serveru |
Vývojová platforma: | Microsoft Visual Studio |
Jak to funguje
Nejprve je třeba nainstalovat Ozeki SMS Gateway a vytvořit databázového uživatele v SMS Gateway. Připojte uživatele k vaší MSSQL databázi. SMS zprávy k odeslání budou vybírány z tabulky odchozích zpráv SQL, která se standardně nazývá 'ozekimessageout'.
Poté byste měli nainstalovat prostředí C#.NET. Vaše aplikace v C# se může připojit k vaší MSSQL databázi a vkládat SMS zprávy do tabulky odchozích zpráv.
Ujistěte se, že je váš Ozeki SMS Gateway připojen k GSM síti přes GSM modem nebo jakéhokoli poskytovatele SMS služeb přes internet. Například CIMD2 nebo UCP/EMI jsou velmi populární připojení k poskytovatelům služeb.
Viz pracovní postup připojení C# přes MSSQL na obrázku 1.
V podstatě lze Microsoft SQL Server dosáhnout jak z vaší aplikace v C#, tak z Ozeki SMS Gateway. Všechny příchozí a odchozí zprávy jsou uloženy na MSSQL Serveru pro další použití.
Přidáním příslušného kódu do vaší aplikace v C# ji můžete připojit k vaší SQL databázi, aby byla schopna vkládat nové řádky do tabulky odchozích zpráv a číst příchozí zprávy.
Databázový uživatel Ozeki SMS Gateway je schopen číst tabulku odchozích zpráv pro odesílání SMS zpráv a vkládat nové řádky do tabulky příchozích zpráv pro ostatní uživatele ke čtení. Například uživatel aplikace v C# je může číst.
Jak nastavit váš MSSQL Server
Krok 1: Nainstalujte Microsoft SQL Server 2016 Express EditionKrok 2: Spusťte Microsoft SQL Server 2016 Express Edition a přihlaste se.
Krok 3: Zapněte ověřování serveru, aby vždy vyžadovalo pár uživatelského jména a hesla databáze. (Krátký návod)
Krok 4: Vytvořte databázi a udělte uživateli oprávnění select, insert, update, delete. (Krátký návod)
Přidejte databázového uživatele do Ozeki SMS Gateway
Krok 1: Spusťte Ozeki 10 Nápověda s obrázkem)Krok 2: Spusťte Ozeki SMS Gateway z plochy Ozeki 10.
Krok 3: Nainstalujte databázového uživatele a nastavte připojovací řetězec. (Krátký návod)
Použijte stažený kód v C#
Krok 1: Stáhněte soubor zip a rozbalte jej.Krok 2: Nastavte údaje pro připojení k SQL databázi v 'DatabaseHandling.cs'. (Krátký návod)
Krok 3: Spusťte službu Ozeki 10, pokud není spuštěna. (Krátký návod)
Krok 4: Sestavte a spusťte projekt v Microsoft Visual Studio
Krok 5: Objeví se okno. Klikněte na tlačítko Vytvořit zprávu.
Vyplňte pole příjemce a text zprávy a klikněte na 'Odeslat'. (Krátký návod)
Stažitelný kód na vrcholu stránky může vkládat zprávy do tabulky 'ozekimessageout'. Databázový uživatel Ozeki SMS Gateway pravidelně kontroluje 'ozekimessageout', aby našel nové řádky zpráv a odeslal je na telefon příjemce. Každý řádek zprávy má atribut stavu. Po odeslání SMS zprávy se stav změní z 'Send' na 'Sent'.
Nezapomeňte zkontrolovat, zda je váš Microsoft SQL server spuštěn, a upravte údaje o připojení k serveru v 'DatabaseHandling.cs', který najdete v ukázkovém projektu.
Třídy C# v ukázkovém kódu
MainForm.cs (Obrázek 2):
Tato třída obsahuje první okno, které se otevře.
Jak můžete vidět na obrázku 2, může zobrazovat obsah dvou tabulek.
Tento obsah je načten pomocí příkazu SELECT z 'ozekimessageout' a 'ozekimessagein'.
Obsahuje také dvě tlačítka 'Obnovit'
a tlačítko 'Vytvořit zprávu'. Stiskněte jej pro použití další třídy 'ComposeMessageForm.cs'.
ComposeMessageForm.cs (Obrázek 3):
Toto je další stránka, kde můžete vyplnit potřebná data pro vytvoření nové zprávy.
DatabaseHandling.cs:
Zde můžete nastavit připojení k databázi (Obrázek 4)
a obnovit tabulky v 'MainForm.cs'.
Jak funguje kód pro odesílání zpráv
V 'ComposeMessageForm.cs' můžete vyplnit dvě pole s adresou příjemce a textem zprávy. Stisknutím 'Odeslat' spustíte následující kód:
ComposeMessageForm.cs... private void buttonSend_Click(object sender, EventArgs e) { CheckAndSendMessage(); } private void CheckAndSendMessage() { if (textBoxRecipient.Text == "") { MessageBox.Show("Pole příjemce nesmí být prázdné!", "Neplatná hodnota pole"); return; } string errorMsg = ""; DatabaseHandling.insertMessage(textBoxRecipient.Text, textBoxMessageText.Text, out errorMsg); MessageBox.Show(errorMsg, "Výsledek vložení zprávy"); } ...Obrázek 5 - Kontroluje, zda je pole příjemce prázdné
Metoda CheckAndSendMessage() je volána pomocí 'buttonSend_Click(...)'. Metoda začíná kontrolou pole příjemce a spustí insertMessage(...) z 'DatabaseHandling.cs', pokud pole příjemce NENÍ prázdné (Obrázek 5). insertMessage(...) může vložit nový řádek do tabulky 'ozekimessageout' (Obrázek 6) (Výchozí hodnota atributu msgtype je SMS:TEXT). Ozeki SMS Gateway bude číst řádky z SQL serveru, jak můžete vidět na vývojovém diagramu výše.
DatabaseHandling.cs... public static void insertMessage(string receiver, string messageText, out string errorMsg) { Connect(out errorMsg); if (errorMsg != "") return; try { SqlCommand sqlComm = sqlConn.CreateCommand(); sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,receiver,msg,status) " + "values ('SMS:TEXT','" + receiver + "','" + messageText + "','send');"; if (sqlComm.ExecuteNonQuery() == 0) { errorMsg = "Vložení bylo NEúspěšné!"; } else { errorMsg = "Vložení bylo úspěšné!"; } } catch (Exception e) { errorMsg = e.Message; } CloseConnection(); } ...Obrázek 6 - Vloží zprávu do vaší SQL databáze
Můžete použít jiné typy zpráv než 'SMS:TEXT' (např. 'SMS:WAPPUSH', 'SMS:VCARD'), jak můžete vidět na Obrázku 7.
... sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,receiver,msg,status) " + "values ('SMS:WAPPUSH','" + receiver + "','" + messageText + "','send');"; ...Obrázek 7 - Typ zprávy změněn z 'SMS:TEXT' na 'SMS:WAPPUSH'
Často kladené otázky
Otázka:
Může tento příklad v C# běžet na jiném počítači než
na stroji Ozeki SMS Gateway nebo MSSQL serveru?
Odpověď: Ano, může. Upravte prosím IP adresu v 'DatabaseHandling.cs' na IP adresu vašeho MSSQL serveru.
Otázka:
Mohu změnit telefonní číslo odesílatele?
Odpověď:
Ano. Prosím vložte číslo odesílatele také do řádku zprávy (Obrázek 8).
Funguje to pouze, pokud máte IP SMS připojení.
... string SenderNumber = "+449876543"; sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,sender,receiver,msg,status) " + "values ('SMS:TEXT','" + SenderNumber + "','" + receiver + "','" + messageText + "','send');"; ...Obrázek 8 - Upravený příkaz INSERT INTO s dodatečným atributem 'sender'
Shrnutí
Tento článek vysvětluje, jak odesílat SMS z C# pomocí SQL Serveru. To znamená, že můžete odeslat SMS vložením řádku do databáze Microsoft SQL. Tento systém využívá aplikaci v C#.NET. Odesílání SMS z SQL Serveru znamená, že můžete použít SQL jazyk k vyhledávání zpráv nebo správě SMS zpráv. To výrazně zlepší efektivitu komunikace ve vaší organizaci a urychlí tok informací.
Pokud se chcete dozvědět více o technologiích, které Ozeki nabízí, navštivte webové stránky Ozeki. Doporučujeme začít s C# SMS API. Více se dozvíte o C# SMS API od Ozeki v tomto článku. Dále, pokud chcete odesílat SMS pomocí HTTP SMS API, navštivte tento článek: HTTP SMS API.
Chcete-li začít odesílat SMS zprávy pomocí API, stáhněte si Ozeki SMS Gateway hned a pusťte se do práce!
More information
- C# SMS API
- C# ASP SMS skript
- Jak odeslat SMS z C# pomocí HTTP GET
- C# SMS API pro SQL