Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将txt信息存储在数据库Server中

如何将txt信息存储在数据库Server中
EN

Stack Overflow用户
提问于 2011-03-05 20:34:41
回答 2查看 1.7K关注 0票数 0

工作的VS08 C#窗口。我有txt文件。读取文件后,我需要将文件信息存储在数据库中。我的 Server数据库表结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE [dbo].[StoreTxtValues]
(
  [PortCode] [int] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
  1)[Vessel] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
  2)[Voyage] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
  3)[Sailed] [datetime] NOT NULL,
  4)[Carrier] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,  
  5)[LoadingContainer] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,  
  6)[DischargeSeal] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
  7)[rowValue] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,

)

请看图片中的数字。我需要帮助来存储数据,就像我描述的那样。任何建议都将被接受。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-05 20:46:54

逐行解析文件以获取所需的信息。使用System.IO.FileStreamStreamReader加载数据,然后根据需要进行处理。把它保存到数据库中。

下面是一个使用来自StreamReader这里的快速示例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using (StreamReader sr = new StreamReader(path))   
{  
    while (sr.Peek() >= 0)   
    {  
        string lineFromFile = sr.ReadLine();  
        //now parse the string lineFromFile and get the information you need  
    }  
} 

我可能补充说,创建对象来表示需要存储的各种数据片段可能会有所帮助。然后,该对象可以使处理数据、将其保存到数据库等方面变得更容易。

解析字符串(这假设文件都是完全相同的格式,即相同的信息行)。

跟踪你在哪条线路上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string[] myFile = File.ReadAllLines(@"C:\file.txt");

var lineCount = myFile.Length;

     for(i=0; i<lineCount; i++)  
     {
          switch(i)
          {
               case 0:
                   //parse line 0
                   break;
               case 1:
                   //parse line 1
                   break;
               case 2:
                   //parse line 2
                   break;
               //and so on until you get to the line that begins the regular "records" part of the file
          }

          if(i >= 10) //assumes line 10 is where the regular "records" start
          {
              //parse the record like so
              string[] columns = myFile[i].Split('\t'); //this assumes your columns are separated by a tab. If it's a space you would use myFile[i].Split(' '), etc. 
              //now you have an array with all your columns
              foreach(string column in columns)
              {
                   //now do what you want with the information

              }
          }
     }
}
票数 2
EN

Stack Overflow用户

发布于 2011-03-05 21:47:02

听理查兹的回答,

在我看来你需要多张桌子。

表1,可以称为ManifestHeader,包含1-6列.

表2可以称为ManifestDetails,包含列7(可以细分为进一步的字段,如LoadingContainer、DischargeSeal、Dest等)。

您的数据是固定宽度和逗号分隔的混合体(第6列),您可以使用String.Substring和String.Split分隔行列。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Collections.Generic;
using System.IO;
using System.Collections;

public class MyClass
{
    public static void ProcessFile()
    {
        TextReader textReader = new StreamReader(@"C:\DEV\DATA\MyDataFile.txt");
        string s = textReader.ReadLine();  
        string col1 = s.Substring(9, 29).Trim();  

        s = textReader.ReadLine();  
        string col2 = s.Substring(9, 29).Trim();  

        s = textReader.ReadLine();  
        string col3 = s.Substring(9, 29).Trim();  

        s = textReader.ReadLine();  
        string col4 = s.Substring(9, 29).Trim();


        s = textReader.ReadLine();
        s = textReader.ReadLine();
        s = textReader.ReadLine();
        s = textReader.ReadLine();
        s = textReader.ReadLine();
        s = textReader.ReadLine();

        s = textReader.ReadLine();  
        string col5 = s.Split(",")[0].Trim();
        string col6 = s.Split(",")[1].Trim();

        while ((s = textReader.ReadLine()).Trim() != "")
        {
            string LoadingContainer = s.Substring(0, 10).Trim();  
            string DischargeSeal = s.Substring(13, 23).Trim();  
            string Dest  = s.Substring(25, 25).Trim();
            // Parse further colums here...
            // Insert record into the database
        }
    }

    public static void Main()
    {
        try
        {
            ProcessFile();
        }
        catch (Exception e)
        {
            string error = string.Format("---\nThe following error occurred while executing the program:\n{0}\n---", e.ToString());
            Console.WriteLine(error);
        }
        finally
        {
            Console.Write("Press any key to continue...");
            Console.ReadKey();
        }
    }

}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5208722

复制
相关文章
jQuery 尺寸
通过 jQuery,很容易处理元素和浏览器窗口的尺寸。 ---- jQuery 尺寸方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() outerWidth() outerHeight() ---- jQuery 尺寸 ---- jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。 height() 方法设置或返回元素的高度(不包括内边距、边
陈不成i
2021/07/22
8880
图片太大,Origin如何导出?
  最近在使用Origin软件作图,发现图片变大超出画板之后,就总是导出不全,总有一部分导不出来。这个问题是急需要被解决的,所以给大家介绍一下,这个问题的解决方法。
百味科研芝士
2021/01/07
4.7K0
图片太大,Origin如何导出?
word中图片太大压缩
电子文档word中经常需要插入图片,然而过多的图片会使word占用空间大,导致word打开缓慢,编辑卡顿等现象。word过大还非常不利于文档的网络传输和拷贝使用。
似水的流年
2020/06/11
3.2K0
CSS——尺寸
缺省情况下,尺寸属性设定的高度和宽度仅适用于内容区域,不包括边框和内边距,这种高度宽度模式属于CSS自古以来的传统盒子模型。当前,本目录下各属性的参考文档都是基于传统盒子模型进行说明的。
Html5知典
2019/11/26
6340
【文件读取】文件太大怎么办?
我们经常会遇到需要读取大文件的情况,比如十几GB,几十GB甚至更大,而如果直接读取进来,内存可能会爆炸,溢出。笔者最近遇到读取大文件的情况,借此和大家分享一些读取大文件的方法。
秋枫学习笔记
2022/09/19
2.7K0
jquery 元素尺寸
从上面的示例可以看到,使用width()和height()分别可以获取元素div的width和height的值。
Devops海洋的渔夫
2019/06/02
1.6K0
Web尺寸规范
主流浏览器的界面参数与份额 图片 系统分辨率统计 分辨率 占有率 分辨率 占有率 1366×768 15% 1440×900 13% 1920×1080 11% 1600×900 5% 1280×800 4% 1280×1024 3% 1680×1050 2.8% 320×480 2.4% 480×800 2% 1280×768 1% 网页宽度与首屏高度
红目香薰
2022/11/29
1K0
Web尺寸规范
1.1、尺寸单位
WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。
张果
2023/05/02
2.9K0
1.1、尺寸单位
ps导出的PNG图片太大
经常会碰到一些新手同学,用PS做切图。最后导出的PNG图片非常大。没有压缩就交给了前端ER ctrl+alt+shift+s
2021/11/08
2.4K0
ps导出的PNG图片太大
scRNAseq包更新动作太大
这个数据集很出名,截止2019年1月已经有近400的引用了,后面的人开发R包算法都会在其上面做测试,比如 SinQC 这篇文章就提到:We applied SinQC to a highly heterogeneous scRNA-seq dataset containing 301 cells (mixture of 11 different cell types) (Pollen et al., 2014).这里面的表达矩阵是由 RSEM (Li and Dewey 2011) 软件根据 hg38 RefSeq transcriptome 得到的,总是130个文库,每个细胞测了两次,测序深度不一样。
生信技能树
2020/08/28
1.6K0
Pyinstaller打包exe太大,运行太慢
通过python使用pyqt编写了一个界面程序,并使用pyinstaller将其打包成exe文件
全栈程序员站长
2022/08/31
3.9K0
SwiftUI 布局 —— 尺寸( 下 )
在 上篇[3] 中,我们对 SwiftUI 布局过程中涉及的众多尺寸概念进行了说明。本篇中,我们将通过对视图修饰器 frame 和 offset 的仿制进一步加深对 SwiftUI 布局机制的理解,并通过一些示例展示在布局时需要注意的问题。
东坡肘子
2022/07/28
2.7K0
SwiftUI 布局 —— 尺寸( 下 )
jQuery 尺寸、位置操作
jQuery中分别为我们提供了两套快速获取和设置元素尺寸和位置的API,方便易用,内容如下。
星辰_大海
2020/10/09
1.1K0
jQuery 尺寸、位置操作
CSS尺寸和边框
            1.  px  像素(由一连串的点来组成,像素越高点越多)
十月梦想
2018/08/29
1.6K0
【Mac】为什么 Mac 系统占用空间太大?
写在前面: 买的是一款 256G 硬盘大小的 MacBook,用了不到一年,这两天打开存储空间,惊人发现占用了 82G?!我都干了什么?按道理来说下载小视频跟系统占用没有啥关系吧?。 网上查了一些资料
redszhao
2021/08/09
7.9K0
【Mac】为什么 Mac 系统占用空间太大?
squid日志文件太大,怎样处理?
Squid默认的5天会压缩一次, 在 /etc/logrotate.d/squid中有设置。如果
Java架构师必看
2021/03/22
1.3K0
CSS尺寸单位介绍
前端开发过程中,尺寸单位是我们必须用到的,下面我们对css中常见的几种尺寸单位px,em,rem,rpx进行逐一介绍 在这之前,需要先对几个概念进行普及介绍
桃翁
2019/04/09
1.7K0
CSS尺寸单位介绍
iPhone/iPad/Android UI尺寸规范
iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone6 plus设计版 1242×2208 px 401PPI 60px 132px 146px iPhone6 plus放大版 1125×2001 px 401PPI 54px 132px 146px iPhone6 plus物理版 1080×1920 px 401PPI 54px 132px 146px iPhone6 750×1334 px 326PPI 40px 88px 98px iPhone5 - 5C -
红目香薰
2022/11/29
3.9K0
iPhone/iPad/Android UI尺寸规范
移动端尺寸问题
我们知道,前端页面的基本单位有px,rem,em, px是PC页面常用的基本单位,相对的rem是移动端常用的基本单位; 而em适用于PC和移动端,他的计算方式是以父节点的宽度来定义自身em的长度,因为不利于精准计算,所以不常用。 今天要讲的是移动端里的rem 我猜大家遇到过这样一个问题: 我用测量工具量取的宽度是1rem ,可写到项目里,明显比原网页要窄很多。 这就是今天要讲的尺寸问题
我不是费圆
2020/09/22
7790
phpmyadmin导入数据太大怎么办?
更改php.ini文件 post_max_size = 900M upload_max_filesize = 900M max_execution_time = 5000 max_input_time = 5000 memory_limit = 1000M 现在重新启动以使更改生效
贵哥的编程之路
2022/03/25
6420

相似问题

相机预览尺寸太大

22

墙纸应用尺寸太大?

10

pgfplots错误:尺寸太大

17

Silverlight打印尺寸太大

11

角5束尺寸太大

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文