C# 从连接的USB设备中选择GSM调制解调器,并将其保存在SQL Server数据库中以备将来使用

C# 从连接的USB设备中选择GSM调制解调器,并将其保存在SQL Server数据库中以备将来使用,c#,sql,sql-server,C#,Sql,Sql Server,发送短信是我开发软件的一项功能要求。我正在使用C#和SQL Server 我用了一些代码发送短信,它真的很有效 问题是:每次发送短信时,我都必须在文本框中插入端口名(例如:COM1、COM2等) 我想通过组合框选择连接的设备(不是COM1、COM2等,而是一个简单的用户名),并将其保存在SQL Server数据库中,而无需每次发送SMS时进行选择(或自动检测,甚至无需搜索设备名) 这是我用来发送短信的代码 private void btnSendMessage(object sender, Ev

发送短信是我开发软件的一项功能要求。我正在使用C#和SQL Server

我用了一些代码发送短信,它真的很有效

问题是:每次发送短信时,我都必须在文本框中插入端口名(例如:COM1、COM2等)

我想通过组合框选择连接的设备(不是COM1、COM2等,而是一个简单的用户名),并将其保存在SQL Server数据库中,而无需每次发送SMS时进行选择(或自动检测,甚至无需搜索设备名)

这是我用来发送短信的代码

private void btnSendMessage(object sender, EventArgs e)
{
        try
        {
            SmsSubmitPdu pdu;
            byte dcs = (byte) DataCodingScheme.GeneralCoding.Alpha7BitDefault;
            pdu = new SmsSubmitPdu(txtMessage.Text,txtTelephoneNumber.Text,dcs);
            int time =1;

            for(int i=0; i<time; i++)
            {
                comm.SendMessage(pdu);

            }
        }
        catch
        {
            MessageBox.Show("Modem is not available!");
        }
    }
}
private void btnSendMessage(对象发送方,事件参数e)
{
尝试
{
SmsSubmitPdu pdu;
字节dcs=(字节)DataCodingScheme.GeneralCode.Alpha7BitDefault;
pdu=新SmsSubmitPdu(txtMessage.Text,txtTelephoneNumber.Text,dcs);
整数时间=1;

对于(int i=0;i我真的认为,针对这一点的整个数据库设置是过分的(假设您只将此数据库用于调制解调器设置?)

第一种方法是创建具有不同Item.Text/Item.Value属性的组合框

快速绘制的示例:

ComboBox cbModem = new ComboBox();
ComboBoxItem cbi = new ComboBoxItem();
cbi.Text("My friendly display string :)");
cbi.Value("COM1");
cbModem.Items.Add(cbi);
然后,您可以通过以下方式获得所选值:

string selValue = (ComboboxItem)cbModem.SelectedItem;

请看,共识是“不,他们不应该”!已经有一个数据库。发送短信和电子邮件只是这个软件的一部分。使用该程序时,我可以设置COM1、COM2等,因为我知道设备连接的确切端口。但是,如果有人选择将设备连接到USB端口,预定义的端口名可能会给出错误,因为它们没有连接到e程序正在期待。我仍然很难在这里看到完整的逻辑。但是由于您已经有了一个数据库(您可以连接到该数据库等),您只需设置一个表并向Combobox控件提供其数据:这里我演示了我试图解释的内容:)()。如果我能做到这一点,我认为没有必要一次又一次地设置COM1、COM2等。它只需要在设备移除并连接到另一个USB端口(或添加新设备移除旧设备)时进行更改。您能给出解决方案吗?