簡體   English   中英

如何將數組添加到 C# 中的 SQL 行?

[英]How to add array to a SQL row in C#?

我有一個由 StringBuilder 創建的數組:

string[] input;
input = sb.ToString().Split(',');

現在我想將這個“輸入”數組中的數據插入到 SQL 行中? 數組中的第一個元素必須是整數。 我怎樣才能以最快的方式實現這一點?

在此先感謝您的幫助或示例。


我已經從 SQL 表中讀取、編輯過,並且我已經找到了 sb,我有:

{50001,Pingu,C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg,A,Skift 2,Requill,sQ,,,,,S5,,,,,,,Motvikt,,Kvalité_nr_2,,,,,,,,,,,,}


col(0)  col(1)   col(2) col(3)  col(4)  col(5)  col(6)  col(7)

50001   Pingu    Pathway    A   Skift 2  Requill    SQ    ""

現在我想保存回 SQL。 SQL 中的列數量和名稱正在發生變化。 這就是我使用數組的原因。

維多


我已經嘗試了以下(見代碼),現在我得到了錯誤:

必須聲明標量變量“@Param”

cbItems 數組包含數據庫中列的名稱。

            string[] cbItems;
        cbItems = sbItems.ToString().Split(',');

        string[] input;
        input = sb.ToString().Split(',');

        DataSet dataSet = new DataSet();
        dataTable = dataSet.Tables.Add();

        SqlConnection cn = new SqlConnection(connString);

        int firstElement;
        Int32.TryParse(input[0], out firstElement);

        string sql = "INSERT INTO UserData1 (Anställningsnummer) VALUES (@ID)";

        cn.Open();
        SqlCommand cmd = new SqlCommand(sql, cn);
        cmd.Parameters.AddWithValue("@ID", firstElement);
        cmd.ExecuteNonQuery();

        int i = 1;
        foreach (string r in input)
        {
            string paramName = cbItems[i].ToString();
            string anyElement= input[i].ToString();
            SqlCommand myInsertCmd = new SqlCommand("INSERT INTO UserData1(" + paramName + ") VALUES(@Param)", cn);

            cmd.Parameters.AddWithValue("@Param", anyElement);

            i++;
            myInsertCmd.ExecuteNonQuery();
        }

        cn.Close();

我錯過了什么嗎?

維多

您必須將數組中的第一個元素解析為整數。

 int firstElement;
 Int32.TryParse(input[0], out firstElement);

然后您可以使用firstElement並將其添加為SQL Parameter

string sql = "INSERT INTO TABLE (ID) VALUES (@ID)";

SqlCommand cmd = new SqlCommand(sql, _connection);
cmd.Parameters.AddWithValue("@ID", firstElement);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM