将数据保存到文本文件并将其加载到C#中的数据网格中

时间:2010-05-19 10:55:05

标签: c# .net winforms sql-server-2005 c#-3.0

我需要将一些数据传递给文本文件,并将该文本文件保存在SQL Server 2005数据库中。

然后我需要能够将该文本文件加载到C#WinForms DataGrid中。

我如何在C#中做到这一点?

3 个答案:

答案 0 :(得分:2)

为什么不将数据从SQL Server读入数据网格而不是从文本文件中读取?将数据从数据库加载到网格中应该很容易直接开箱即用。

答案 1 :(得分:1)

答案 2 :(得分:1)

从您的问题中不清楚数据的开始位置,或者您需要文本文件的原因。但是,我会回答你的一点。有很多方法可以读取文本文件。这就是我通常这样做的方式:

首先,写出一个带有架构的文件

using (StreamWriter sw = new StreamWriter(sPath + @"\schema.ini"))

            {
                sw.WriteLine("[" + sFile + "]");
                sw.WriteLine("ColNameHeader=False");
                sw.WriteLine("Format=FixedLength");
                sw.WriteLine("Col1=CO_ID Text Width 2");
                sw.WriteLine("Col2=AGENCY_CD Text Width 10");
                // lines for additional columns here
                sw.Close();
                sw.Dispose();
            } 

然后使用ODCB将数据读取到DataSet。

            string cs = @"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" + sPath;
            OdbcConnection cn = new OdbcConnection(cs);
            string q = @"select * from [" + sNewFN + "]";
            OdbcDataAdapter da = new OdbcDataAdapter(q, cn);
            da.Fill(ds, "MyTable");

表ds.Tables [“MyTable”]是DataGrid的DataSource

此处有关于此方法的信息:

http://msdn.microsoft.com/en-us/library/ms714091%28v=VS.85%29.aspx