从C#中的Mysql中的值获取字符串

时间:2016-08-11 05:05:50

标签: c# mysql

我在MySql中有以下表格:

ID          Name

1           Google
2           Yahoo
3           Facebook
4           Whatever

我有一个文本字段,当有人写东西并按下按钮时,它会将此值存储在字符串中。该字符串是上表的名称。然后我有关于选择引用该名称的id的代码。例如,如果用户进入Facebook,我将发现ID = 3.这是代码:

    public bool FindCompanyID(string companyName)
{
    return ExecQuery("select id from companies where name=@name",
        cmd =>
        {
            cmd.CommandText = "SELECT id from companies WHERE name ='" + companyName + "'";
            return cmd;
        });
}

我希望有人向我展示有关以下内容的代码示例:将字符串保存为" id" 。如果数据库中的ID = 2我想制作一个

int Company_Number_ID
我会用的。如何让字符串从数据库中读取指定的值?

1 个答案:

答案 0 :(得分:2)

我猜您的返回类型为bool,以检查DDL语句是否已成功执行。

MySqlCommand cmd = dbConn.CreateCommand();
cmd.CommandText = "SELECT id from companies WHERE name ='" + companyName + "'";

try
{
    dbConn.Open();                
    Company_Number_ID = (Int32)cmd.ExecuteScalar();
} catch (Exception e) {
    //Exception occured. Handle it here
}

注意: cmd.Parameters.AddWithValue("@companyName",companyName)。 这更安全

修改:正如user3185569在评论中指出的那样,ExecuteScalar如果您确定它只会返回一行,那就更好了。但由于没有提供此类信息。我没有考虑到这一点。

您可以直接使用ExecuteScalar

Company_Number_ID = (Int32)cmd.ExecuteScalar();