c# - 如何将两个列值添加到列表

标签 c# asp.net mysql ajax ajaxcontroltoolkit

如何将两列值添加到列表中,这两列在不同的表中。电子邮件在 tbl_user 表中,组名在 tbl_group 表中。我想为自动完成文本框的电子邮件和组名使用前缀文本。现在通过查询,我可以将电子邮件 ID 添加到列表中,当我键入 arr 时,将显示以 arr 开头的电子邮件 ID 如何同时为组名和电子邮件 ID 执行此操作

  public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
           MySqlCommand command = new MySqlCommand();


    string textforlist = "SELECT tbl_user.Email from tbl_user WHERE tbl_user.OrganisationID = '1' AND UserActive='Yes'AND tbl_User.Email like '" + prefixText + "%'";
    DataSet ds = new DataSet();
    MySqlParameter[] param = new MySqlParameter[1];
    param[0] = new MySqlParameter("@OrganisationID", MySqlDbType.Int32);
    param[0].Value = count;
    command.Parameters.AddWithValue("@OrganisationID", count);
    using (DataServer server = new DataServer())
    {

        ds = server.ExecuteQuery(CommandType.Text, textforlist, param);

    }
    string textforlist1 = "SELECT tbl_group.GroupName from tbl_group WHERE tbl_group.OrganisationID = '1' AND GroupActive='Yes'AND tbl_group.GroupName like '" + prefixText + "%'";
    DataSet ds1 = new DataSet();
    using (DataServer server = new DataServer())
    {

        ds1 = server.ExecuteQuery(CommandType.Text, textforlist1, param);

    }
    List<string> cityList = new List<string>();
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        cityList.Add(ds.Tables[0].Rows[i][0].ToString());
        cityList.Add(ds1.Tables[0].Rows[i][0].ToString());
    }
    return cityList.ToArray();
}

最佳答案

只添加其他列值吗?也许我没有正确理解这个问题,但这应该很简单 - 你的表有两列,Email 是第一列,GroupName 第二列:

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
   cityList.Add(ds.Tables[0].Rows[i][0].ToString());
   cityList.Add(ds.Tables[0].Rows[i][1].ToString());
}

您可以修改您的 sql 查询以限制返回的组名称,类似于您当前对电子邮件所做的操作 - 不过您确实应该为此使用 SQL 参数,否则您将面临 SQL 注入(inject)攻击。

编辑:

对于更新后的代码,您应该使用两个 for 循环

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
    cityList.Add(ds.Tables[0].Rows[i][0].ToString());
}

for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
{
    cityList.Add(ds1.Tables[0].Rows[i][0].ToString());
}

关于c# - 如何将两个列值添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792986/

相关文章:

javascript - ajax 调用 javascript 日期的 ASP.NET Parse DateTime 结果

c# - Asp.net 服务器应用程序正在本地主机上运行,​​但不在 Azure 中运行(未处理的异常渲染组件 : ExpectedJsonTokens)

mysql - 如何从给定行条件的表中选择所有行?

php - Mysql 分层查询忽略重复行(但它不应该!)

c# - “该页面包含需要母版页引用的控件,但未指定”问题

php - 如何在 Laravel 4 中使用参数和 CASE 语句进行更新查询

c# - 当 HotChocolate GraphQL 服务器中抛出异常时,如何获取更多错误详细信息或日志记录?

c# - AssemblyInfo.cs 中的 assembly 关键字是什么意思。它允许在内部使用方法吗?

c# - Excel 添加在自定义功能区选项卡中将不显示

c# - 有没有比在整个应用程序代码中散布 try/catch 更优雅的错误处理方法?