CWiseer 2020-09-15 20:56 采纳率: 100%
浏览 703
已采纳

【求助】C# 遍历两个一维数组与数据库中的列表名称匹对,并将对应的比配结果添加到对应的列下?

C# 遍历两个一维数组,并与数据库中的列表名称匹对,并将对应的比配结果添加到对应的列下:

sql sever 中的一个表,一共有6列。
图片说明

两个一维数组分别是:

string[] Alps = new string[L];  //对应字母

string[] nums = new string[L];  //数值

遍历表中的列名与Alps[L]进行匹配,然后将nums[L]中的值加入到对应的列表名后。

例如 ,遍历 Alps[0] = A , 将 nums[0] = 32 添加到 A 列下。
图片说明

大概是这么个意思,求大神给一个demo.

图片说明

目前此部分功能代码:

 private void button3_Click(object sender, EventArgs e)
        {

            string[] Alps = new string[L];
            string[] nums = new string[L];

            // 逐行读取文本,并将字母和对应的数值存入到数组中
            for (int i = 0; i < L; i++)                        //for 循环行
            {
                string[] Array = richTextBox1.Lines[i].Split('=');   // 以“=”一行一行进行分割
                Alps[i] = Array[0].Trim().ToUpper().Replace(" ", ""); // 将获取的字母全部大写存放到alps[]中
                nums[i] = Array[1].Trim().Replace(" ", "");           // 将获取的数值存放到nums[]中
            }

            string SqlStr = string.Format("insert into 曲柄轴({0})values({1})", string.Join(",", Alps), string.Join(",", Alps.Select(item => "@" + item)));
        using (SqlConnection con = new SqlConnection(Constr))
            {
                SqlCommand cmd = new SqlCommand(SqlStr, con);
                for (int i = 0; i < L; i++)
                {
                    cmd.Parameters.AddWithValue("@" + Alps[i], nums[i]);
                }
                con.Open();
                int result = cmd.ExecuteNonQuery();
            }    
        }
  • 写回答

3条回答 默认 最新

  • jingluan666 2020-09-15 21:04
    关注
                 int L = 5;
    
                string[] Alps = new string[L];
                string[] nums = new string[L];
    
                string []lines = 
    @"A=1
    B=2
    C=3
    D=4
    E=5".Split('\n');
    
                // 逐行读取文本,并将字母和对应的数值存入到数组中
                for (int i = 0; i < L; i++)                        //for 循环行
                {
                    string[] Array =lines[i].Split('=');   // 以“=”一行一行进行分割
                    Alps[i] = Array[0].Trim().ToUpper().Replace(" ", ""); // 将获取的字母全部大写存放到alps[]中
                    nums[i] = Array[1].Trim().Replace(" ", "");           // 将获取的数值存放到nums[]中
                }            
    
                string sql = string.Format("insert into 曲柄轴({0}) values({1})", string.Join(",", Alps), string.Join(",", Alps.Select(item=>"@"+item)));
    
                using (SqlConnection con = new SqlConnection(@"server=.\sql2019;database=testdb;integrated security=true;"))
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
    
                    for (int i = 0; i < nums.Length; i++)
                    {
                        cmd.Parameters.AddWithValue("@" + Alps[i], nums[i]);
                    }
    
                    con.Open();
    
                    int result = cmd.ExecuteNonQuery();
                }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型