【问题标题】:How to get values from foreach with insert statement如何使用插入语句从 foreach 中获取值
【发布时间】:2023-04-04 02:43:01
【问题描述】:

我是新手。我使用GetSelectedIndicesforeach 来获取数组中的每个值。

之后,我为插入语句提供了这些值。如何从 foreach 中的插入语句中获取 query_TheLoai?我在网络表单上工作

var TheLoaiIds = lbxTheLoai.GetSelectedIndices();

foreach (var TheLoaiId in TheLoaiIds)
{
    string query_TheLoai = "SELECT @MaPhim = SCOPE_IDENTITY();INSERT INTO ChiTietTL VALUES ('" + TheLoaiId + "', @MaPhim)";
}

不好意思

【问题讨论】:

  • 考虑使用类似 ORM 的实体框架或 dapper 来进行像这样的常规/普通数据库操作

标签: c# sql-server winforms foreach


【解决方案1】:
var TheLoaiIds = lbxTheLoai.GetSelectedIndices();
string CStr = "YourConnectionString";

string Query = "INSERT INTO ChiTietTL VALUES ('" + TheLoaiId + "', @MaPhim)";

using(var conn = new SqlConnection(CStr))
{
    foreach (var TheLoaiId in TheLoaiIds)
    {
        using(var cmd = new SqlCommand(Query, conn))
        {
             try
             {
                 cmd.Parameters.AddWithValue("@MaPhim", TheLoaiId);
                 cmd.ExecuteNonQuery();
             }
             catch (SqlException ex)
             {
                 MessageBox.Show(ex.ToString());
             }
         }
     }
}

【讨论】:

  • "INSERT INTO ChiTietTL VALUES ('" + TheLoaiId + "', @MaPhim)";TheLoaiId 在 foreach 外面所以出错了
【解决方案2】:
    var TheLoaiIds = lbxTheLoai.GetSelectedIndices();
    string CStr = "YourConnectionString";

    string Query = "SELECT @MaPhim = SCOPE_IDENTITY(); INSERT INTO ChiTietTL VALUES (@TheLoaiId, @MaPhim)";

    using(var conn = new SqlConnection(CStr))
    {
        foreach (var TheLoaiId in TheLoaiIds)
        {
            using(var cmd = new SqlCommand(Query, conn))
            {
                 try
                 {
                     cmd.Parameters.AddWithValue("@TheLoaiId", TheLoaiId);
                     cmd.ExecuteNonQuery();
                 }
                 catch (SqlException ex)
                 {
                     MessageBox.Show(ex.ToString());
                 }
             }
         }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多