2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 将数据导出到文本文件 并从文本文件导入数据

将数据导出到文本文件 并从文本文件导入数据

时间:2019-08-21 21:01:31

相关推荐

将数据导出到文本文件 并从文本文件导入数据

将数据导出到文本文件,并从文本文件导入数据 所谓把数据导出到文本文件,其实就是把数据作为文本以一定格式写入文本文件。然后,把文件里的文本读出来,还原成一行一行一列一列的数据,之后放入数据集。下面这段程序定义了一个窗体。窗体中有两个 DataGrid 和两个 DataSet 。第一个 DataGrid 绑定到第一个 DataSet 的 employees 表,第二个 DataGrid 绑定到第二个 DataSet 的 employees 表。方法 OutputData()用于把第一个DataSet的employees表的数据组合成文本,然后输出到文本文件里,而方法InputData()把文本文件里的文本读出来,分解成一个一个的数据,然后送入第二个DataSet的employees表。 可以把整个代码粘贴到项目文件里,就可以运行。重点看一下OutputData()和InputData()方法。如下所示: '从数据集把数据导出到文本文件 Private Sub OutputData() '文件名 Dim fileName As String = "test.txt" '如果该文件存在就删除 If File.Exists(fileName) Then File.Delete(fileName) End If '创建新的文件 Dim fs As FileStream = File.Create(fileName) fs.Close() '打开文件并建立stream writer fs = File.OpenWrite(fileName) Dim sw As New StreamWriter(fs)'得到datatable Dim dtEmp As DataTable = Me.dsHR.Tables.Item("employees") '利用双循环把数据一行一列的写到stream writer For Each row As DataRow In dtEmp.Rows Dim str As String = "" For Each col As DataColumn In dtEmp.Columns str = str & row.Item(col.ColumnName).ToString() & "*" Next sw.WriteLine(str) Nextsw.Flush() '清理缓冲区并写入基础流 sw.Close() '关闭stream writerEnd Sub'从文本文件把数据导入数据集 Private Sub InputData() '文件名 Dim fileName As String = "test.txt" If Not File.Exists(fileName) Then Return End IfDim sr As StreamReader = File.OpenText(fileName)Dim dtEmp As DataTable = Me.dsHR2.Tables("employees")Dim str As String = sr.ReadLine() '如果文件里还有行就继续 While Not (str Is Nothing) '得到新行 Dim row As DataRow = dtEmp.NewRow() Dim startIndex As Integer = 0 Dim endIndex As Integer = 0 '给新行的每一个字段写入数据 For Each col As DataColumn In dtEmp.Columns endIndex = str.IndexOf("*", startIndex) Dim colStr As String If endIndex > startIndex Then colStr = str.Substring(startIndex, endIndex - startIndex) End If row.Item(col.ColumnName) = colStr endIndex += 1 startIndex = endIndex Next '如果主键没有重复就加入到表里 Dim rows() As DataRow = dtEmp.Select("emp_id =" & row.Item("emp_id").ToString()) If rows.Length < 1 Then dtEmp.Rows.Add(row) End If '读下一行文本 str = sr.ReadLine() End Whilesr.Close() End Sub 下面给出了全部的代码,作为参考。 Imports System.IO Imports System.Text Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows 窗体设计器生成的代码 "Public Sub New() MyBase.New()'该调用是 Windows 窗体设计器所必需的。 InitializeComponent()'在 InitializeComponent() 调用之后添加任何初始化End Sub'窗体重写 dispose 以清理组件列表。 Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub'Windows 窗体设计器所必需的 Private components As ponentModel.IContainer'注意: 以下过程是 Windows 窗体设计器所必需的 '可以使用 Windows 窗体设计器修改此过程。 '不要使用代码编辑器修改它。 Friend WithEvents adptEmp As System.Data.OleDb.OleDbDataAdapter Friend WithEvents OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand Friend WithEvents OleDbInsertCommand1 As System.Data.OleDb.OleDbCommand Friend WithEvents OleDbUpdateCommand1 As System.Data.OleDb.OleDbCommand Friend WithEvents OleDbDeleteCommand1 As System.Data.OleDb.OleDbCommand Friend WithEvents conn As System.Data.OleDb.OleDbConnection Friend WithEvents dsHR As TxtData.DataSetHR Friend WithEvents dgEmp As System.Windows.Forms.DataGrid Friend WithEvents dvEmp As System.Data.DataView Friend WithEvents btnOutput As System.Windows.Forms.Button Friend WithEvents btnInput As System.Windows.Forms.Button Friend WithEvents dgEmp2 As System.Windows.Forms.DataGrid Friend WithEvents dsHR2 As TxtData.DataSetHR <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.adptEmp = New System.Data.OleDb.OleDbDataAdapter Me.OleDbDeleteCommand1 = New System.Data.OleDb.OleDbCommand Me.conn = New System.Data.OleDb.OleDbConnection Me.OleDbInsertCommand1 = New System.Data.OleDb.OleDbCommand Me.OleDbSelectCommand1 = New System.Data.OleDb.OleDbCommand Me.OleDbUpdateCommand1 = New System.Data.OleDb.OleDbCommand Me.dsHR = New TxtData.DataSetHR Me.dgEmp = New System.Windows.Forms.DataGrid Me.dvEmp = New System.Data.DataView Me.btnOutput = New System.Windows.Forms.Button Me.btnInput = New System.Windows.Forms.Button Me.dgEmp2 = New System.Windows.Forms.DataGrid Me.dsHR2 = New TxtData.DataSetHR CType(Me.dsHR, ponentModel.ISupportInitialize).BeginInit() CType(Me.dgEmp, ponentModel.ISupportInitialize).BeginInit() CType(Me.dvEmp, ponentModel.ISupportInitialize).BeginInit() CType(Me.dgEmp2, ponentModel.ISupportInitialize).BeginInit() CType(Me.dsHR2, ponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'adptEmp ' Me.adptEmp.DeleteCommand = Me.OleDbDeleteCommand1 Me.adptEmp.InsertCommand = Me.OleDbInsertCommand1 Me.adptEmp.SelectCommand = Me.OleDbSelectCommand1 Me.adptEmp.TableMappings.AddRange(New mon.DataTableMapping() {New mon.DataTableMapping("Table", "employees", New mon.DataColumnMapping() {New mon.DataColumnMapping("emp_age", "emp_age"), New mon.DataColumnMapping("emp_dateofbirth", "emp_dateofbirth"), New mon.DataColumnMapping("emp_department", "emp_department"), New mon.DataColumnMapping("emp_id", "emp_id"), New mon.DataColumnMapping("emp_name", "emp_name"), New mon.DataColumnMapping("emp_sex", "emp_sex"), New mon.DataColumnMapping("emp_single", "emp_single")})}) Me.adptEmp.UpdateCommand = Me.OleDbUpdateCommand1 ' 'OleDbDeleteCommand1 ' mandText = "DELETE FROM employees WHERE (emp_id = ?) AND (emp_age = ? OR ? IS NULL AND emp_ag" & _ "e IS NULL) AND (emp_dateofbirth = ? OR ? IS NULL AND emp_dateofbirth IS NULL) AN" & _ "D (emp_department = ? OR ? IS NULL AND emp_department IS NULL) AND (emp_name = ?" & _ " OR ? IS NULL AND emp_name IS NULL) AND (emp_sex = ?) AND (emp_single = ?)" Me.OleDbDeleteCommand1.Connection = Me.conn Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_id", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_id", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_age", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_age", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_age1", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_age", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_dateofbirth", System.Data.OleDb.OleDbType.DBDate, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_dateofbirth", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_dateofbirth1", System.Data.OleDb.OleDbType.DBDate, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_dateofbirth", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_department", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_department", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_department1", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_department", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_name", System.Data.OleDb.OleDbType.VarWChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_name", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_name1", System.Data.OleDb.OleDbType.VarWChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_name", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_sex", System.Data.OleDb.OleDbType.Boolean, 2, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_sex", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_single", System.Data.OleDb.OleDbType.Boolean, 2, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_single", System.Data.DataRowVersion.Original, Nothing)) ' 'conn ' Me.conn.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database L" & _ "ocking Mode=1;Data Source=""E:/everyday/VS/HELPREN/hr.mdb"";Jet OLEDB:Engine Type=" & _ "5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=Fa" & _ "lse;persist security info=False;Extended Properties=;Mode=Share Deny None;Jet OL" & _ "EDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don'" & _ "t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Us" & _ "er ID=Admin;Jet OLEDB:Global Bulk Transactions=1" ' 'OleDbInsertCommand1 ' mandText = "INSERT INTO employees(emp_age, emp_dateofbirth, emp_department, emp_name, emp_sex" & _ ", emp_single) VALUES (?, ?, ?, ?, ?, ?)" Me.OleDbInsertCommand1.Connection = Me.conn Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_age", System.Data.OleDb.OleDbType.Integer, 0, "emp_age")) Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_dateofbirth", System.Data.OleDb.OleDbType.DBDate, 0, "emp_dateofbirth")) Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_department", System.Data.OleDb.OleDbType.Integer, 0, "emp_department")) Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_name", System.Data.OleDb.OleDbType.VarWChar, 10, "emp_name")) Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_sex", System.Data.OleDb.OleDbType.Boolean, 2, "emp_sex")) Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_single", System.Data.OleDb.OleDbType.Boolean, 2, "emp_single")) ' 'OleDbSelectCommand1 ' mandText = "SELECT emp_age, emp_dateofbirth, emp_department, emp_id, emp_name, emp_sex, emp_s" & _ "ingle FROM employees" Me.OleDbSelectCommand1.Connection = Me.conn ' 'OleDbUpdateCommand1 ' mandText = "UPDATE employees SET emp_age = ?, emp_dateofbirth = ?, emp_department = ?, emp_na" & _ "me = ?, emp_sex = ?, emp_single = ? WHERE (emp_id = ?) AND (emp_age = ? OR ? IS " & _ "NULL AND emp_age IS NULL) AND (emp_dateofbirth = ? OR ? IS NULL AND emp_dateofbi" & _ "rth IS NULL) AND (emp_department = ? OR ? IS NULL AND emp_department IS NULL) AN" & _ "D (emp_name = ? OR ? IS NULL AND emp_name IS NULL) AND (emp_sex = ?) AND (emp_si" & _ "ngle = ?)" Me.OleDbUpdateCommand1.Connection = Me.conn Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_age", System.Data.OleDb.OleDbType.Integer, 0, "emp_age")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_dateofbirth", System.Data.OleDb.OleDbType.DBDate, 0, "emp_dateofbirth")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_department", System.Data.OleDb.OleDbType.Integer, 0, "emp_department")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_name", System.Data.OleDb.OleDbType.VarWChar, 10, "emp_name")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_sex", System.Data.OleDb.OleDbType.Boolean, 2, "emp_sex")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("emp_single", System.Data.OleDb.OleDbType.Boolean, 2, "emp_single")) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_id", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_id", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_age", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_age", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_age1", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_age", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_dateofbirth", System.Data.OleDb.OleDbType.DBDate, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_dateofbirth", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_dateofbirth1", System.Data.OleDb.OleDbType.DBDate, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_dateofbirth", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_department", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_department", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_department1", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_department", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_name", System.Data.OleDb.OleDbType.VarWChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_name", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_name1", System.Data.OleDb.OleDbType.VarWChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_name", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_sex", System.Data.OleDb.OleDbType.Boolean, 2, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_sex", System.Data.DataRowVersion.Original, Nothing)) Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_emp_single", System.Data.OleDb.OleDbType.Boolean, 2, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "emp_single", System.Data.DataRowVersion.Original, Nothing)) ' 'dsHR ' Me.dsHR.DataSetName = "DataSetHR" Me.dsHR.Locale = New System.Globalization.CultureInfo("zh-CN") ' 'dgEmp ' Me.dgEmp.DataMember = "" Me.dgEmp.Dock = System.Windows.Forms.DockStyle.Top Me.dgEmp.HeaderForeColor = System.Drawing.SystemColors.ControlText Me.dgEmp.Location = New System.Drawing.Point(0, 0) Me.dgEmp.Name = "dgEmp" Me.dgEmp.Size = New System.Drawing.Size(416, 224) Me.dgEmp.TabIndex = 0 ' 'btnOutput ' Me.btnOutput.Location = New System.Drawing.Point(8, 232) Me.btnOutput.Name = "btnOutput" Me.btnOutput.Size = New System.Drawing.Size(200, 23) Me.btnOutput.TabIndex = 1 Me.btnOutput.Text = "把数据集的数据导出到文本文件" ' 'btnInput ' Me.btnInput.Location = New System.Drawing.Point(224, 232) Me.btnInput.Name = "btnInput" Me.btnInput.Size = New System.Drawing.Size(184, 23) Me.btnInput.TabIndex = 2 Me.btnInput.Text = "从文本文件把数据导入数据集" ' 'dgEmp2 ' Me.dgEmp2.DataMember = "" Me.dgEmp2.Dock = System.Windows.Forms.DockStyle.Bottom Me.dgEmp2.HeaderForeColor = System.Drawing.SystemColors.ControlText Me.dgEmp2.Location = New System.Drawing.Point(0, 262) Me.dgEmp2.Name = "dgEmp2" Me.dgEmp2.Size = New System.Drawing.Size(416, 184) Me.dgEmp2.TabIndex = 3 ' 'dsHR2 ' Me.dsHR2.DataSetName = "DataSetHR" Me.dsHR2.Locale = New System.Globalization.CultureInfo("zh-CN") ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14) Me.ClientSize = New System.Drawing.Size(416, 446) Me.Controls.Add(Me.dgEmp2) Me.Controls.Add(Me.btnInput) Me.Controls.Add(Me.btnOutput) Me.Controls.Add(Me.dgEmp) Me.Name = "Form1" Me.Text = "Form1" CType(Me.dsHR, ponentModel.ISupportInitialize).EndInit() CType(Me.dgEmp, ponentModel.ISupportInitialize).EndInit() CType(Me.dvEmp, ponentModel.ISupportInitialize).EndInit() CType(Me.dgEmp2, ponentModel.ISupportInitialize).EndInit() CType(Me.dsHR2, ponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False)End Sub #End RegionPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.InitDataSet() Me.InitDataGrid() End SubPrivate Sub InitDataSet() Me.adptEmp.Fill(Me.dsHR, "employees") Me.dvEmp.Table = Me.dsHR.Tables.Item("employees") End SubPrivate Sub InitDataGrid() Me.dgEmp.SetDataBinding(Me.dvEmp, "") Me.dgEmp2.SetDataBinding(Me.dsHR2.Tables("employees"), "") End Sub'从数据集把数据导出到文本文件Private Sub OutputData()'文件名Dim fileName As String = "test.txt"'如果该文件存在就删除If File.Exists(fileName) ThenFile.Delete(fileName)End If'创建新的文件Dim fs As FileStream = File.Create(fileName)fs.Close()'打开文件并建立stream writerfs = File.OpenWrite(fileName)Dim sw As New StreamWriter(fs)'得到datatableDim dtEmp As DataTable = Me.dsHR.Tables.Item("employees")'利用双循环把数据一行一列的写到stream writerFor Each row As DataRow In dtEmp.RowsDim str As String = ""For Each col As DataColumn In dtEmp.Columnsstr = str & row.Item(col.ColumnName).ToString() & "*"Nextsw.WriteLine(str)Nextsw.Flush() '清理缓冲区并写入基础流sw.Close() '关闭stream writerEnd Sub'从文本文件把数据导入数据集Private Sub InputData()'文件名Dim fileName As String = "test.txt"If Not File.Exists(fileName) ThenReturnEnd IfDim sr As StreamReader = File.OpenText(fileName)Dim dtEmp As DataTable = Me.dsHR2.Tables("employees")Dim str As String = sr.ReadLine()'如果文件里还有行就继续While Not (str Is Nothing)'得到新行Dim row As DataRow = dtEmp.NewRow()Dim startIndex As Integer = 0Dim endIndex As Integer = 0'给新行的每一个字段写入数据For Each col As DataColumn In dtEmp.ColumnsendIndex = str.IndexOf("*", startIndex)Dim colStr As StringIf endIndex > startIndex ThencolStr = str.Substring(startIndex, endIndex - startIndex)End Ifrow.Item(col.ColumnName) = colStrendIndex += 1startIndex = endIndexNext'如果主键没有重复就加入到表里Dim rows() As DataRow = dtEmp.Select("emp_id =" & row.Item("emp_id").ToString())If rows.Length < 1 ThendtEmp.Rows.Add(row)End If'读下一行文本str = sr.ReadLine()End Whilesr.Close()End SubPrivate Sub btnOutput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOutput.Click Me.OutputData() End SubPrivate Sub btnInput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInput.Click Me.InputData() End Sub End Class

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。