如何将从数据表中获取的值存储到字符串中?

时间:2018-11-02 19:29:04

标签: c# asp.net

我想获取数据表值并将它们保存在单个字符串中,其中@keyframes float { 0% { transform: translateY(0); } 25% { transform: translateY(-5%); } 50% { transform: translateY(0); } 75% { transform: translateY(5%); } 100% { transform: translateY(0); } } .logo .yellow, .white, .grey { animation: float 5s linear infinite; transition: all 0.25s ease; } .path-1:hover { transform: translateX(200px) translateY(-200px); animation: float 5s linear infinite; } 大于0。 enter image description here 我想获取dt.rows.Countmenu_name并将它们存储到menu_Quantity所在的单个字符串中。 如果可以的话,您能演示如何执行此操作,此代码仅在第一列保存到字符串中

email=ariffnaj@gmail.com

2 个答案:

答案 0 :(得分:0)

我的解决方案使用SqlDataReader而不是SqlDataAdapterDataTable。如果您只想检索一些值,这会更容易。为了构建字符串,我使用了StringBuilder,因为它比字符串连接更好地管理资源。

public string GetCartStringForEMail(string email)
{
    const string sql = "SELECT menu_name, menu_quantity FROM cart WHERE email=@email";

    string connectionString =
        ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
    using (var conn = new SqlConnection(connectionString))
    using (var cmd = new SqlCommand(sql, conn)) {
        var sb = new StringBuilder();
        cmd.Parameters.AddWithValue("@email", email);
        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read()) {
            sb.Append(reader.GetString(0))
                .Append(", ")
                .AppendLine(reader.GetInt32(1).ToString());
        }
        return sb.ToString();
    }
}

请注意,使用语句会自动关闭连接并释放资源。

答案 1 :(得分:0)

您可以尝试合并功能:

DECLARE @str nvarchar(MAX)
SELECT @str = (COALESCE(@str + ';', '') + CONCAT('Menu:', menu_name, ', Quantity:', menu_quantity)) 
FROM cart WHERE email=@email
SELECT @str as output

然后使用:String str = cmd1.ExecuteScalar().ToString();