亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據數據庫表查詢 C# 列表

如何根據數據庫表查詢 C# 列表

C#
蝴蝶刀刀 2022-12-04 10:52:52
當我傳遞列表的字符串版本時,我的代碼不會從測試數據庫表返回任何行,但如果我直接傳遞列表成員,它會返回行。當我使用消息框顯示字符串 joinedSerialsList 時,它的格式似乎正確。// Create comma delimited list of serials:int currentSerial = beginning;List<string> serialsList = new List<string>();for (int i = 0; i < count; i++){     serialsList.Add(currentSerial.ToString());     currentSerial++;}string joinedSerialsList = string.Format("({0})", string.Join(", ", serialsList));OleDbConnection connection = BadgeDatabaseDB.GetConnection();string checkStatement     = "SELECT SerialNumber, OrderNumber "     + "FROM SerialNumbersMFG "     + "WHERE SerialNumber IN (@List)";OleDbCommand command = new OleDbCommand(checkStatement, connection);command.Parameters.AddWithValue("@List", joinedSerialsList);string duplicateSerials = "";try{    connection.Open();    OleDbDataReader dataReader = command.ExecuteReader();    if (dataReader.Read())    {        duplicateSerials += dataReader["OrderNumber"].ToString() + "\n";    }}catch (OleDbException ex)    {        throw ex;    }finally    {        connection.Close();    }return duplicateSerials;
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

我重寫了你的樣本,這項工作:


    private IEnumerable<string> getData()

    {

        // Create comma delimited list of serials:

        int currentSerial = 4452; // your constant

        var serialsList = new List<int>();

        var count = 100;


        for (int i = 0; i < count; i++)

            serialsList.Add(currentSerial++);


        var connString = getConnectionString();


        var results = new List<string>();

        string sqlSelect = $"SELECT SerialNumber, OrderNumber FROM SerialNumbersMFG WHERE SerialNumber IN ({string.Join(",", serialsList)})";


        using (var connection = new SqlConnection(connString)) // BadgeDatabaseDB.GetConnection();

        {

            using (var command = new SqlCommand(sqlSelect, connection))

            {

                connection.Open();

                var dataReader = command.ExecuteReader();


                while (dataReader.Read())

                    results.Add(dataReader["OrderNumber"].ToString());

            }

        }


        return results;

    }


查看完整回答
反對 回復 2022-12-04
  • 1 回答
  • 0 關注
  • 115 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號