当前位置: 首页 > 面试题库 >

如何导入文本文件并将数据保存到数据库?

诸葛令
2023-03-14
问题内容

我有这个项目:

  1. 导入.txt文件
  2. 连接到SQL Server数据库
  3. 将所有数据转移到数据库中

文本文件按选项卡划分为四个字段,例如数据库。

我已经完成了使用富文本框并将所有数据保存在字符串中的第一步。我的想法是将字符串拆分为每行并将其保存在数组中,然后:如何拆分每一行,以便可以正确保存字段?如何将SQL
Server上的数据库连接到C#上的项目?


问题答案:

让我们一次解决这一步骤…

获取数据:

将文本文件转换为字符串变量。

string readText = File.ReadAllText("path to my file.txt");

在这里更多

现在我们有了一个字符串,我们可以 解析

List<string> listStrLineElements = List<string> listStrLineElements = line.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).ToList();// You need using System.Linq at the top.

现在,您需要将每个元素拆分为自己的行;您说过使用制表 符定界
很不错(现代更常见的是逗号分隔(CSV),但制表符可以使用!)…为此,我们可以执行以下操作:

List<string> rowList = listStrLineElements.SelectMany(s => s.Split('\t')).ToList();// The \t is an *escape character* meaning tab.

现在,您需要类似循环的功能来遍历这些条目中的每一项并将其插入数据库中,这意味着我们现在需要数据库连接…

连接到数据库

代码项目(另一个有用的网站)具有本上进行从C#SQL连接教程;
以下是代码摘要(请阅读文章,此网站不是让人们代表您编写/查找代码的地方!)

确保您使用的是SQL名称空间…

using System.Data.SqlClient;
    private void sqlCon(List<string> x)
    {
        //Replace with your server credentials/info
        SqlConnection myConnection = new SqlConnection("user id=username;" +"password=password;server=serverurl;" +"Trusted_Connection=yes;" +"database=database; " + "connection timeout=30");
        try
        {
            myConnection.Open();
            for (int i = 0; i <= x.Count -4; i += 4)//Implement by 3...
            {
                //Replace table_name with your table name, and Column1 with your column names (replace for all).
                SqlCommand myCommand = new SqlCommand("INSERT INTO table_name (Column1, Column2, Column3, Column4) " +
                                     String.Format("Values ('{0}','{1}','{2}','{3}')", x[i], x[i + 1], x[i + 2], x[i + 3]), myConnection);
                myCommand.ExecuteNonQuery();
            }

        }
        catch (Exception e){Console.WriteLine(e.ToString());}
        try{myConnection.Close();}
        catch (Exception e){Console.WriteLine(e.ToString());}
    }

请注意,您很可能必须更改/编辑我的循环;其背后的逻辑是将i乘以4,因此您可以读取每列,因此Count(条目数)列必须少4,这样您就不会超出索引范围(在记事本I中键入所有内容)我不确定我的逻辑是否正确,但是再次,如果那是错误的,那您就必须解决,我们不只是为人们编写代码。

请注意!

诸如string.format()之类的东西让您可以进行 SQL注入 ,您确实应该查找SQL参数,但这可以完成工作。



 类似资料:
  • 问题内容: 是否可以将JSON数据保存到本地文本文件中?因此,稍后我可以通过加载该文件再次使用它,并取回存储的JSON数据。其实我真正想做的是在文本文件中导出JSON数据,以便以后可以用作import.Any的建议或解决方案? 这是我要用于导出到文本的一些示例。 http://jsfiddle.net/k56eezxp/ 问题答案: 是否可以将JSON数据保存到本地文本文件中? 是。当前,链接的j

  • 我正在编写一个文件编写器,它将ID和名称(这两个字符串)写入文本文件。这需要用户输入,然后将数据存储在txt文件中。但是,当我再次运行它时,任何新数据都会覆盖以前的数据,因此数据永远不会保存到txt文件中。 谁能告诉我如何保存这些数据,以便添加的任何新数据都存储在下一行,而不覆盖上一行? 谢啦

  • 当我启动这个代码时,你通常认为它会在文本文件中输入一个100,但我不知道为什么它会像字符一样输入一个“d”。有人知道如何修复吗?一个方法应该输入一个数据,一个应该输入那个数据,一个应该保存那个数据。

  • 我是python新手,我正在尝试读取文本文件并从文本中收集一些信息。例如,如果文本包含“1.Andrew是XYZ大学的学生,毕业于2020年。”对于上述文本,我要求我的答案是“学生1:Andrew,毕业年份:2020,大学:XYZ”。同样,我需要验证n个学生,并存储n个学生的结果。我只知道这里的基本知识,在这里我可以以不同的格式打开文件,如读、写。。。因此,我对如何进行下一步感到困惑。 任何帮助都

  • 问题内容: 是否可以将数据从XML文件导入到SQL数据库,如果可以,该怎么做。我有一个包含约50000条目的XML文件,我必须创建一个可以操纵该数据(主要是读取和比较)的应用程序- 因此,我担心的是使用该数量的数据进行操纵(而且很可能未来还会有更多)将会非常缓慢且效率低下。如果您认为还有其他选择会更好,请告知。谢谢 问题答案: 您可以使用SQL Server导入和导出向导。您还可以查看SQL Se

  • 要常常喜乐,不住地祷告,凡事谢恩,因为这是神在基督耶稣里向你们所定的旨意。不要消灭圣灵的感动,不要藐视先知的讲论。但要凡事察验,善美的要持守,各样的恶事要禁戒不作。(1 THESSALONIANS 5:16-22) 将数据存入文件 在《文件(1)》和《文件(2)》中,已经学习了如何读写文件。 程序执行结果,就是产生一些数据,一般情况下,这些数据数据要保存到磁盘中,最简单的方法就是写入到某个文件。但